Brolly: A Minimalist Plain-Text Weather Forecast Service
Brolly: A Minimalist Plain-Text Weather Forecast Service
Brolly is a minimalist weather forecast service that delivers meteorological data in a plain-text format. By stripping away complex UI elements, Brolly provides a high-density, low-latency alternative to modern weather applications, making it particularly useful for users who prefer a terminal-like aesthetic or require data that is easily parseable by AI agents.
Structured Plain-Text Forecasts
Brolly organizes weather data into distinct, self-contained sections using ASCII separators and simple tables. This structure ensures that the information remains readable across different screen sizes and devices.
Current and Daily Overviews
The service provides an immediate snapshot of current conditions, including temperature (with "feels like" metrics), wind speed, UV index, and Air Quality Index (AQI). This is followed by a daily summary that lists temperature ranges, average wind speeds, and precipitation levels.
Weekly and Hourly Trends
Brolly includes a weekly forecast table and an hourly breakdown of conditions. A notable feature is the inclusion of historical data (e.g., "Yesterday"), allowing users to compare current trends with recent past weather—a feature often missing from standard weather apps.
ASCII Visualizations
Instead of graphical charts, Brolly uses text-based visualizations to represent data trends over time:
- Precipitation: Represented by a bar-style graph using hash symbols (#).
- UV and Air Quality: Plotted on a simple Y-axis with hash symbols to show peaks and troughs throughout the day.
- Pollen Levels: Indicated by a linear scale using markers (e.g.,
.for low,-for medium,=for high) to show peak times for different pollen types.
Technical Architecture and AI Integration
Brolly is built using Golang and SQLite, emphasizing a lightweight architecture that promotes fast load times and simplicity.
LLM Compatibility
Because the output is structured and devoid of UI noise, it is highly optimized for Large Language Models (LLMs). Users have reported that pasting Brolly's output into AI models like Qwen and Gemini allows the models to accurately summarize the "gist" of the weather without the hallucinations or parsing errors often caused by complex HTML structures.
Development Philosophy
The creator of Brolly utilized a hybrid development approach, manually designing the architecture and structure while using AI to implement significant portions of the code to increase velocity. This balance was intended to maintain the "joy of focusing on a problem" while leveraging modern productivity tools.
Community Feedback and Feature Requests
While the minimalist approach is widely praised, the Hacker News community has highlighted several areas for potential improvement:
Accessibility and Usability
- Unit Customization: Users have requested the ability to toggle between Celsius and Fahrenheit, particularly for US-based locations.
- Visual Enhancements: Suggestions include adding a dark mode for visually impaired users and incorporating Unicode weather symbols (e.g., cloud or sun icons) for quicker visual scanning.
- Location Handling: Some users noted that searching for specific city-state combinations (e.g., "Raleigh, NC") failed, while searching for the city name alone worked.
Integration and API
- Curl Support: Many users compared Brolly to
wttr.in, requesting a truetext/plainresponse that would allow the site to be "curled" directly into a terminal without receiving HTML wrappers. - URL Structure: The current use of obfuscated URL parameters (e.g.,
/forecast/RWFP2qW8) has been criticized as less user-friendly and less SEO-efficient than descriptive slugs (e.g.,/forecast/uk-london). - Geolocation: Suggestions were made to implement GeoIP services to automatically set the starting location based on the user's IP address.
"This is how the web used to feel." — @popalchemist