Skip to main content

A countdown to 2026 in your terminal

Project description

New Year's Fireworks Simulator in your Terminal

At your desk for New Years? Crack open a beer and a terminal. Run this app, and wait for the fireworks!

Pythonistas, run the following (requires uv):

uvx ny2026@latest

JS fans, run the following:

npx @manzt/uv tool run ny2026

You can also press SPACE if you are impatient for the fireworks to start...

Screenshot 2025-12-28 at 21 42 21

How this was built

This project was built with Toad and Claude Code.

It was an excercise in "vibe coding". Something I hadn't done a great deal of.

Could I have done this "by hand"? Yeah, probably. I am an ex game developer and I work with terminals. Claude one-shotted much of this. But it did create bugs that it couldn't fix, and I had to use my fleshy mammalian brain to resolve. It really struggled with the audio. There were many rounds of "I see the problem! There it is fixed now", but it did eventually get there.

There was also a last minute bug reported by another mamallian brain. It was using UTC for the countdown, which would have made it wrong for anyhone outside the UK.

Of course I should have checked, but I kind of feel that a human would be less likely to make that mistake. If you actually had to type UTC in the code, that should have triggered the realization that it would break for other timezones.

Overall, the coad is not bad. Not good, but not terrible. There are some lines which I don't think are even neccesary. Reminants of failed experiments perhaps. I suspect Claude could easily tidy those up, but you do need to know to ask.

Considering there isn't a large corpus of firework simulations with braille characters in the terminal (I assume), I think Claude did OK here.

Anyhow. These videos represent a snapshot of the process.

https://github.com/user-attachments/assets/165d8aca-2f2f-4bfd-802d-5f8c33b0d0c3

https://github.com/user-attachments/assets/4a69c8ef-676d-487f-92c9-556ae907d4d9

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ny2026-1.0.13.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ny2026-1.0.13-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file ny2026-1.0.13.tar.gz.

File metadata

  • Download URL: ny2026-1.0.13.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ny2026-1.0.13.tar.gz
Algorithm Hash digest
SHA256 f22daae916d422bbcfccfe5c673bb9efda164c0d0aecb63e235187e870420649
MD5 cad47444f321a63722a05cf89161f4bc
BLAKE2b-256 484b72c3fee7e27cf10f704b1579c96235629df80f799a4194c4b73e1f50e3e0

See more details on using hashes here.

File details

Details for the file ny2026-1.0.13-py3-none-any.whl.

File metadata

  • Download URL: ny2026-1.0.13-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ny2026-1.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 85315956acdc803327c5e02bdcd06238af65ca23dad4d4c918194ad9c95fa5c4
MD5 165d3fa397b01869334ecf29dc1a73c5
BLAKE2b-256 07c39567018688efca73254e57113b5b4db3459ae728b9d53eb1c8cbed4b77e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page