Show HN: Brolly, a plain-text weather forecast site (brolly.sh)
I made https://brolly.sh, a minimalist, plain text weather forecasting site. You can use it to view weather from around the world, with: 7 day forecast; Previous day log (so you can confirm it definitely was cooler / hotter / wetter / drier yesterday!); Hourly rain, wind, temperature, conditions; Hourly UV, air quality and pollen, including pollen type specific forecasts within the EU / UK; Location search and last 5 locations; Location specific units.
I mostly made the site for myself, if anyone else also benefits from it that’s an added advantage.
You can check out the weather in York, UK at https://brolly.sh/forecast/RWFP2qW8, or search for a location at https://brolly.sh
The site is deliberately styled as a single long scrollable column, to work on mobile phones. You can view it on desktop too, there's just a lot of horizontal padding. I naturally took a lot of inspiration from plaintextsports.com. Despite not being a sports fan, I love its aesthetic. But, you'll hopefully see that this site isn't a rip off, and has its own deliberate look and feel.
Visualisations are really important to showing information at a glance. I spent a lot of time designing the different visualisations and making them work with only characters. My favourite is the hourly heat map used for pollen count.
It's also frustrating to have an interactive site, where you can't share a page with a friend and have them see what you're seeing. To solve this, all page state (i.e. location, selected day, expanded / collapsed sections), is stored in the URL. You can share or bookmark the specific view, and know that you'll always be able to come back to it.
The site uses PocketBase. It’s written in Go and plain HTML/JavaScript/CSS. All pages are backend rendered, with light JavaScript to handle re-loading content without page jumps when using interactive features like next / previous day navigation. Weather forecasts are fetched from open-meteo.com, which has a very generous free tier. However, I also built a custom LRU cache on top of PocketBase’s SQLite DB to cache forecasts for 5 minutes, and avoid putting unnecessary pressure on the open-meteo API.
44 comments
[ 3.1 ms ] story [ 37.5 ms ] threadThis output is incidentally perfectly context engineered for LLMs too; I pasted the Delhi page contents into Arena .ai and asked "what's the gist" and qwen3.6-plus said (among other things) " A hot, humid day with a slight chance of afternoon showers." and gemini-3.1-pro-preview said "Mostly clear, but hot and very humid. While the actual high is 34°C, it will feel like 42°C in the afternoon."
I really love Golang minimalist applications using sqlite. The whole architecture feels really elegant to me personally. I wish you luck for this project and if I may ask, is the project open source, I really love its UI :) ,it feels so cool!
Very small suggestion: it’d be cool if you used a service to geoip the incoming ip address - there’s also https://developers.cloudflare.com/network/ip-geolocation/ that will inject the lat lng directly into the request header to your server
It’d just help set a good enough starting location.
Cheers!
Can we have METARs for airport codes in this exact aesthetic?
Structured, concise weather information without unnecessary UI noise is much easier for agents to parse and summarize.
A JSON endpoint or an MCP server on top of this would be an interesting extension.