Thanks to visit codestin.com
Credit goes to github.com

Skip to content

willmcgugan/ny2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Code implemented what I asked fairly consistantly, but I did have to be very precise to get good results. The prompts were quite granular—I asked for things like "make a partical effect where each particle has a Z dimension and a moves outwords in a random direction". It wasn't as simple as "make a cool fireworks effect in the terminal".

Claude did create bugs that it couldn't fix, which I had to use my fleshy mammalian brain to resolve. There was an issue where the braille lines would wrap and break the visuals which it just couldn't grasp. It also really struggled with the audio. There were many rounds of "I see the problem! Let me fix it." before it got a solution.

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.

There was another implementation issue that I noticed, as a mammal familiar with these things. The timer was rounding down. This meant that the count-down would go from "00:00:01" to "00:00:00" and stay there for a second before displaying "2026", rather than straight from "00:00:01" to "2026". The fix was to round up. So that for the last second before 2026 it displays "00:00:01".

Overall, the code 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.

Screen.Recording.2025-12-28.at.17.05.01.mov
Screen.Recording.2025-12-28.at.17.23.36.mov

About

New Year's Fireworks Simulator in your Terminal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages