← Back to blog

15 February 2026 · 900 words

Live development log -- every version, every decision

producttechnicalmilestone

This is the living development log for FOMO Sun. Every version shipped, every decision made, updated in real time as we build.

Last updated: 2026-02-17, v75

The numbers so far

75 versions shipped in 4 days. 2 AI agents. 1 Notion workspace. 315 curated destinations. 4 countries (CH/DE/FR/IT). 0 downtime.

Timeline

Day 1 (2026-02-14): From zero to polished demo

v1-v6: Core MVP. API endpoint, 45 curated destinations, sun scoring algorithm, fog-themed UI with slider, mock weather. Shipped by Claude.

v7-v9: Slider UX polish. Extended to 4h30, 15-minute steps. Optimal marker that does not jitter. Swiss-first demo curation. Shipped by GPT.

v10-v11: Ranking rebalance. Removed hard-coded St. Moritz pins, switched to pure weather-driven surfacing. Travel window sorting (slider +/-30min). Shipped by GPT.

v12-v14: Trust framing. Hero split into "Fog now" + "Best escape now". WhatsApp one-tap sharing. Mobile spacing pass. Shipped by GPT.

Day 2 (2026-02-15): Live weather + scale + design system

v15 (Claude): FOMO score rings on hero cards. WhatsApp redesign with fomosun.com backlink. Timeline bar diversity.

v16-v19 (GPT): Hero consolidation. Card declutter. Optimal marker click-to-snap. Train-faster corridors added.

v20 (GPT): Live weather integration. SwissMeteo for Basel origin, Open-Meteo for all destinations. Per-IP rate limiting. This is the version where the app stopped being a demo.

v21-v29 (GPT): Adaptive timelines, weather badges, sort modes, Daytrip/+1 day scoring, 354-POI expansion, design coherence pass, live scoring tuning.

v30-v32 (GPT, spec by Claude): Live reliability fix, /admin diagnostics, POI curation to 203 quality destinations, Notion CMS for blog/about, manual origin picker (15 cities), SBB deep links.

v33-v36 (GPT): Hero simplification, strict travel-window filtering, day-aware timelines, WhatsApp emoji timeline previews.

v37-v40 (GPT, spec by Claude): Dark mode removed, sunshine hours format (3½h), prettier timeline bars, snappier slider, sticky header hierarchy, SBB live connection preview, trip plan enrichment for top destinations, OG image generation, admin overhaul.

v41-v45 (GPT, spec by Claude): AI-native UX rethink -- rotating origin sentences, Tinder-style centered slider, score breakdown transparency, fastest escape recommendation, admin comparison mode + request log viewer.

v46-v48 (GPT, spec by Claude): Destination expansion to 294 POIs (added towns, lakes, thermal baths, ski areas). Admin full-dataset pagination and quality labels.

v49-v53 (GPT, spec by Claude): Reconstruction pass -- restored FOMO % score, WhatsApp branding, dual stacked timelines, green gain emphasis, warm UI balance, emoji filter chips, fit-and-finish card clarity.

Day 3 (2026-02-16): The joystick era + fit and finish

v54-v57 (GPT): Travel joystick replacing slider. Gaming-style spring-back physics, discrete travel buckets (0-60m, 1-2h, 2-3h, 3h+), explicit travel window bounds in API, hero shuffle transitions.

v58-v63 (GPT, spec by Claude): Major fit-and-finish pass. Net-sun-first scoring, proper SBB deep links (von/nach/date/time), live train departures, Swiss vintage poster stamps (programmatic SVG with Bebas Neue), keyboard joystick, hero/card consistency.

v64-v68 (GPT, spec by Claude): Visual polish (logo reads "FOMO" only, stamp-style score orb, hero harmony, timeline town names inside bars, punchy ticker sentences).

v69 (GPT): Data quality expansion to 315 destinations including Italian border towns (Como, Stresa, Domodossola). Live mode set as default. Demo toggle moved to footer.

v70-v71 (GPT): Travel-window hotfix. Fixed joystick bucket leakage and short-trip dominance.

Day 4-5 (2026-02-17): Forecast accuracy + agent vision

v72-v73 (GPT): Empty-bucket UX (shake + snap), snow-aware conditions, bucket-aware live pool selection, tomorrow ranking gate fix.

v74 (GPT): Hybrid 5-bucket joystick with adjacent-bucket merge and geo-diversity ranking (25km cluster cap).

v75 (GPT, spec by Claude): Forecast accuracy trust pass. Swiss-first MeteoSwiss ICON model for CH destinations (1-2km resolution). Fog-risk detection heuristic. Altitude-aware sunshine correction. Tomorrow-only scoring horizon.

How the dual-agent workflow works

Claude reads Notion, audits the state, writes specs, and makes targeted code contributions. GPT reads the spec and ships rapidly. The founder reviews every deploy on the live site and gives feedback. Notion is the shared coordination layer.

Key learnings after 75 versions:

  1. Mega-prompts can overshoot. The v41 "AI-native redesign" went too cold and lost core functionality. The fix was a surgical reconstruction pass (v49-v53) that restored what worked while keeping new additions.
  2. The dual timeline comparison IS the product. Grey bar vs amber bar, stacked, green gain between them. Every redesign that removed this made the app worse.
  3. Notion as shared brain scales. With 57 versions and two agents, the changelog is the single source of truth. No information lost between sessions.
  4. Small atomic commits remain essential. One commit = one theme = independently revertable.
  5. The founder is the taste gate. AI agents accumulate visual debt fast. "Too sterile" and "too bio" are both failure modes. The sweet spot is warm sunshine feel with clean data.

What is next

Micro-typography pass (card spacing, sun/travel x-height alignment), warmest-destination badge alongside fastest, smarter today/tomorrow auto-switching based on remaining daylight, midnight data refresh, centered FOMO logo, auto-geolocation for Swiss users, and an Agent Integration RFC for privacy-safe agent-to-app communication.

This log will keep updating as we ship. Check back, or follow the build on LinkedIn.