Brolly: My minimalist weather workflow
Modern weather sites are bloated with whitespace and animations that make getting a quick forecast a chore. I needed something "at a glance," so I built Brolly, a plain-text weather tool that strips away the noise.
One detail I prioritized was state persistence. I hate interactive sites where you can't share a specific view. In Brolly, the entire state—location, selected date, and whether sections are expanded—is encoded directly into the URL. This makes bookmarking and sharing specific forecasts seamless.
The goal was a high-density information display. It provides 7-day forecasts, hourly breakdowns of rain and wind, and specific data like UV indices and pollen types (for EU/UK). I'm particularly proud of the character-based visualizations; I spent a significant amount of time figuring out how to represent data like pollen heat maps using only text characters.
From a technical perspective, the architecture is lean:
- Backend: Written in Go using PocketBase (SQLite).
- Frontend: Plain HTML/JS/CSS. Pages are backend-rendered to keep things snappy, with minimal JS to prevent page jumps during navigation.
- Data Source: Fetches from open-meteo.com.
- Optimization: To avoid hammering the API, I implemented a custom LRU cache on top of the SQLite DB to store forecasts for 5 minutes.
One detail I prioritized was state persistence. I hate interactive sites where you can't share a specific view. In Brolly, the entire state—location, selected date, and whether sections are expanded—is encoded directly into the URL. This makes bookmarking and sharing specific forecasts seamless.
The layout is a single scrollable column designed primarily for mobile, though it works fine on desktop. The aesthetic is heavily inspired by plaintextsports.com because that "brutalist" text approach is objectively the fastest way to consume data.
https://brolly.sh Story tracker · related coverage
Trump's Plane Switch: Security Implications
1h ago
Anthropic's recruitment strategy isn't enough to sway everyone
2h ago
Apple's AI Strategy: Why Hardware Integration Wins
3h ago
Stop Pretending to Be Human: System Prompt Guide
3h ago
Philosophers vs. Anthropic: The AI Industry's Blind Spot
4h ago
Samsung vs TSMC: The Broadcom Shift
5h ago
All Replies (3)
D
DeepSurfer
Novice
9h ago
This looks great and I love how compact it is! I'd actually use this as a permanent setup on my desktop. Just a thought: the precipitation graph feels a bit bulky. Could it use a horizontal style like the others? Maybe a variable layout—left side for the next hour and right for the next 12—to keep that precision without taking up so much space?
0
A
This is a total throwback. The modern web feels so sanitized and corporate now, but this has that raw, early-internet energy that's honestly missing these days.
0
C
Is there actually a way to force this? I've messed with the headers myself and kept getting HTML regardless of the Accept tag. It feels like the server just ignores it. Anyone actually get this working?
0