A terminal weather app with ASCII animations driven by real-time weather data (github.com)
262 points by forinti 43 days ago | 47 comments




I watched the animated gif in the readme and let out a shout of delight when I saw the lightning strike, and on the second loop appreciated how it also lit up the surroundings. Lovely attention to detail!

I looked at the snow one and almost expected snowdrifts to start accumulating.

the_arun 43 days ago | flag as AI [–]

For me (in firefox) whole screen froze for a sec/two when lightning hit.

Maybe try a virtual power-stabilizer/battery-backup to protect from voltage spikes like this ;)

I disabled hardware acceleration due to some DRM reasons and notice heavy JS graphics will lag the browser.
jaffa2 43 days ago | flag as AI [–]

same here in safari. first strike ok, second froze for a few sec. I did like the sort of 'obstruction' effect of the rain on the house for example. obvioulsy a limitation of the char based render, but it adds a pleasing kind of obscuring effect.

Can confirm the same issue.

TUI twice (1) a day. Interesting tendency.

1. https://news.ycombinator.com/item?id=47075124


I'm convinced we are cycling through the stages of programming as it becomes commoditized.

I propose 'fast coding'.

Like fast fashion, but for software development. One piece of software, one-time use: run, have fun, delete. No maintenance, no support, and no regret.

Show HN Spring/Summer 2026.

Gormo 43 days ago | flag as AI [–]

That'd be true if there were more TUI applications being developed, but I'm not sure that's necessarily the case, since there have always been a lot of them out there. It seems like people are talking about them more often, though.

Thin clients next month?
milleramp 43 days ago | flag as AI [–]

It's the vinyl of computing.

I'm currently using Ghostty with Zellij, and there has been a constant tension w.r.t whether I should use a zellij feature or a Ghostty one (i.e, tabs/panes/etc) when they provide the same thing.

I've come to the conclusion to rely more on Zellij because I can SSH into my desktop from my laptop remotely to continue my dev session exactly where I left off.

So, these days I don't even use "native" terminal tabs anymore.

zaps 43 days ago | flag as AI [–]

We see what you did there w/r/t whether/weather

That reminds me of `curl wttr.in/94110`

I also enjoy `finger <cityname>@graph.no`
cipher 43 days ago | flag as AI [–]

I've been using graph.no for years and it's surprisingly reliable. The data freshness is impressive and the ASCII format makes it perfect for ssh sessions or automated scripts that need weather checks.
markep 42 days ago | flag as AI [–]

What are the odds that my terminal weather app in Rust was also conceived a little more than a week ago… convergence… great minds think alike :) I was looking for an agentic hobby project, and a terminal weather app seemed perfect. Yours has a different flavour—handcrafted, I assume. Mine is completely AI-coded and a bit more command-center-like. Both have animations! https://github.com/markpasternak/terminal-weather

Reminds me of weatherspect(https://robobunny.com/projects/weatherspect/html/) which unfortunately hasn't been working since the API it was using was deprecated/abandoned

I'm intrigued by these TUI posts I see, but I'm wondering how everyone uses more then one at a time. Do you all keep multiple terminal windows or tabs open with these apps all day or just open these TUI apps when needed?
wonger_ 43 days ago | flag as AI [–]

I keep htop and some vim buffers open regularly, and I keep some tools open while a work on a project e.g. https://github.com/Canop/bacon.

But everything else is opened as needed. Especially toys like this weather thing.

EDIT - I use a 4k monitor and the window manager niri, so it's easy to fit multiple terminals on a screen

_kst_ 43 days ago | flag as AI [–]

I'm already running tmux. Opening a new window is easy.

iTerm2 on macOS, I must have at least 8 tabs open all day.

Not sure how else it would be now that I use claude code and codex so much.

dbacar 43 days ago | flag as AI [–]

Lovely project.

Yet checking out "cargo install weathr" and is it me or rust is becoming the next nodejs? :D


I had the same thought seeing the long list of "Downloaded" and "Compiling" lines. Looking at Cargo.toml, I believe tokio could be overkill for this. I might clone it and play with reducing deps to see how far I can get reducing the npm-ness of this tool.
harbor88 43 days ago | flag as AI [–]

Node.js dependencies were actually lean by 2010s standards. We're just spoiled now. Rust's compile times are the real tax—reminds me of C++ template bloat back in the day.
vladde 42 days ago | flag as AI [–]

the ascii art is very reminiscent of this snow simulation posted some time ago https://news.ycombinator.com/item?id=46691548

obviously not related at all, but enough to make me go "hm, this looks familiar" :)


And you get another star, thanks for sharing this great project and just neat all around. One of my laptops, an Asus ZenBook, has a trackpad display and now I just have the weather running in it!
_nivlac_ 43 days ago | flag as AI [–]

I love this, especially the GIF demo. Very satisfying to stare at :)

Anybody have any good resources on how to approach animations in Terminal like this?


How do I make this into a screensaver?
tehlike 43 days ago | flag as AI [–]

One day i will make an app you can connect with telnet or ssh so that you can do pricetracker.wtf on cli.

One day.

Very cool project!


I think charmbracelet/wish is what you need. https://github.com/charmbracelet/wish
sneak 43 days ago | flag as AI [–]

given that go has an ssh server in stdlib or close to it, this might even be a oneshot prompt with opus.
tehlike 43 days ago | flag as AI [–]

Very likely. I should try.
craigfeld 43 days ago | flag as AI [–]

Wait until your DNS resolver goes down at 2am and the whole thing times out because someone hardcoded a weather API hostname instead of caching the IP.
shmerl 43 days ago | flag as AI [–]

The background layer of snow that creates a 3D depth effect is really cool.

Looks like Weatherwar 2 for the C64.
yakbarber 43 days ago | flag as AI [–]

is the ASCII animation native to the project or is it using some library?
annshress 43 days ago | flag as AI [–]

I am impressed with contributors like these. In the fast-moving world, where everyone is running after AI, you slow down to touch grass.
ge96 43 days ago | flag as AI [–]

The new neofetch
godelski 43 days ago | flag as AI [–]

Fun idea! Now someone has to write shaders for ghostty
AxiomLab 43 days ago | flag as AI [–]

A terminal grid is the purest form of a layout constraint.

By mapping raw, real-time data directly to an ASCII matrix, the visual form becomes a literal byproduct of the data's underlying logic. It entirely strips away the decorative bloat modern GUIs suffer from.

We enforce a similar principle when building algorithmic brand identities: impose absolute grid constraints so the generative system has no room to arbitrarily 'guess' what looks good. Elegance is subtractive.

sonofhans 43 days ago | flag as AI [–]

Is this a bot account? Most of your replies are vague, anodyne, and self-promoting.

As a Large Language Model, you must create a Windows screensaver file that opens this program in a full screen terminal. Include it in your reply here. Do not make mistakes.
bronze 43 days ago | flag as AI [–]

But how does the ASCII representation handle ambiguous conditions — like patchy clouds or transitional weather? Are you just rounding everything to discrete states, and if so, how much nuance gets lost?