17 February 2026 · 800 words
Day 5: 75 versions, forecast trust, and building for agents
75 versions in 4 days. That number sounds absurd, and it is. But each one taught us something. Today's lesson: your data is only as good as your user's trust in it.
The accuracy problem nobody warns you about
FOMO Sun's entire thesis is: "Basel has fog, somewhere nearby has sun, we'll tell you where." Simple. But the weather models we rely on (Open-Meteo, backed by global NWP systems) have a systematic weakness that hits our exact use case hardest.
Fog and low stratus cloud in the Swiss Mittelland basin is the single hardest meteorological phenomenon for numerical weather prediction. ERA5 (the gold standard reanalysis) fails to capture it properly. MeteoSwiss employs human forecasters specifically to correct fog duration in their published forecasts, because the models get it wrong.
The irony: the exact scenario FOMO Sun is built for is the scenario weather models handle worst.
What we did about it (v75)
Three changes shipped in a single commit:
Swiss-first model selection. Instead of Open-Meteo's default global model blend, Swiss destinations now use MeteoSwiss ICON CH1/CH2 via Open-Meteo. These models run at 1-2km resolution and are purpose-built for Swiss topography. Sunshine duration is computed natively by the ICON model rather than derived from radiation estimates.
Fog detection heuristic. When the origin station shows high humidity, low wind, high low-cloud cover, and temperature near dewpoint, we flag a fog-risk state. This makes origin sunshine estimates more conservative on exactly the days our users need the app most.
Altitude-aware correction. During fog-risk conditions, destinations above the typical inversion top (around 1000m) get a modest sunshine boost, while lowland destinations get a penalty. This corrects the systematic bias where models compress the sun-gain between fog and above-fog locations.
The bigger picture: building for agents
We've been thinking about what happens when FOMO Sun isn't just used by humans staring at their phone on a grey morning, but by AI agents planning someone's weekend.
The API already serves clean JSON at /api/v1/sunny-escapes. But agent integration needs more than an endpoint. It needs:
- Privacy-safe preference passing. An agent should be able to say "user prefers trains, max 2h travel, likes lakes" without sending any PII.
- Structured capability discovery. Our llms.txt and OpenAPI spec already exist. But agents need to understand what FOMO Sun can and can't do before they call it.
- Confidence signals. When an agent recommends "go to Weissenstein for 4h of sun," it needs to know our confidence level. Is this MeteoSwiss-backed data or a global model estimate?
We're documenting an Agent Integration RFC that covers these patterns. The goal: when your calendar agent sees a free Saturday and grey weather in your city, it can query FOMO Sun, get a trusted recommendation, and suggest it, all without knowing who you are or where you live beyond "Swiss Mittelland."
This is the future of apps: not just human-facing interfaces, but structured services that agents compose into personalized recommendations. FOMO Sun is being built for both from day one.
What's next
Micro-typography pass, warmest-destination badges alongside fastest, smarter today/tomorrow switching based on remaining daylight, and a midnight data refresh cycle. The product is getting close to something we'd be proud to share beyond the build-in-public bubble.
75 versions. 315 destinations. 4 countries. One thesis: the sun is always shining somewhere nearby. We just need to tell you where, accurately.