14 February 2026 · 550 words
Day 1: From zero to working API in 8 hours
What I shipped today
14 versions in a single day. From nothing to a working fog-escape finder with live deployment on Vercel.
The core loop: tell the app how far you are willing to travel. It scores every destination within range by predicted sunshine, filters for your travel window, and shows you ranked cards with travel times, weather conditions, and a quick trip plan.
The stack choices that mattered
Next.js 14 with App Router because I needed SSR for SEO/GEO, API routes in the same repo, and one-command Vercel deploys. No separate backend.
Mock weather first, live later. The scoring algorithm was ready on day one, but I deliberately kept the weather data mocked. This let me iterate on ranking, UI, and the demo experience without worrying about upstream API reliability. The live integration came on day two (v20).
Basel as default origin. The Swiss Mittelland fog problem is most acute in the Rhine valley cities: Basel, Zurich, Bern. Basel was the obvious starting point because it is where I live and where the fog frustration is real.
Cross-border from day one. Alsace and the Black Forest are within 1-2 hours of Basel and are frequently sunnier than the Mittelland. Ignoring them would have made the app less useful than checking a webcam.
Key decisions
45 curated destinations across three countries (CH, DE, FR). A sun scoring algorithm combining sunshine forecast, cloud cover, and altitude bonus during inversions. GA rail pass toggle because half of Switzerland has unlimited train travel and that changes the calculus. Agent readiness from the start with llms.txt, OpenAPI, and Schema.org markup.
What I learned
MeteoSwiss provides roughly 6,000 forecast points but you only need to route the top 10-15 candidates per request. A two-stage filter (haversine distance first, then score ranking) saves 99% of API calls. The fog ceiling varies by about 100 meters day to day, so never promise "guaranteed sun." Confidence labels are essential. And Schema.org markup is trivial to add at project start but painful to retrofit.
What came next
Day two brought live weather from Open-Meteo, 354 destination expansion, WhatsApp sharing, and a complete design coherence pass. But that is another post.
This is part of the FOMO Sun build-in-public series. The app is live at fomosun.com.