← Back to blog

18 February 2026

89 Versions in 7 Days: How We Built FOMO Sun

milestonetechnicalproduct

Most startups talk about their launch day. We're going to talk about all 89 versions that came before it.

The Timeline

Friday night, February 14th: Idea sketch. Basel fog problem. What if I could just… know where the sun is?

Friday night + 8 hours: Working API. Live on fomosun.com.

Thursday night, February 20th: Version 89. Live weather. Joystick travel control. Swiss tourism integration. 315 destinations. Real SBB train connections.

What 89 Versions Actually Means

89 isn't a vanity metric. It's evidence of a workflow most people don't believe is possible.

Every version:

  • Deployed to production
  • Documented in Notion
  • Tested in real fog conditions
  • Used to make actual weekend plans

No staging environment. No feature branches. No sprint planning. Just: problem → fix → deploy → use → next problem.

The Relay System

Two AI agents. One codebase. Zero merge conflicts.

Claude (Anthropic) reads the Notion docs, audits the code, writes specs, catches drift between what we said we'd build and what we actually built.

Codex (OpenAI) takes those specs and ships at inhuman speed. V7 through V14? That was a single afternoon.

I'm the founder. My job is to:

  1. Use the app every morning
  2. Notice what feels wrong
  3. Describe the feeling in plain language
  4. Pick which agent to hand it to

That's it. No tickets. No standups. No "let me check with engineering."

The Phases

Phase 1: Prove It Works (V1-V14)

Day 1. Eight hours. Got it deployed. Made it actually work in Basel fog. Tuned the demo so people could see the value immediately.

Key learning: If your v1 doesn't solve your own problem today, you're building the wrong thing.

Phase 2: Make It Real (V15-V40)

Live weather. Swiss MeteoSwiss models. Open-Meteo integration. Actual train times from SBB.

This is where most weekend projects die. The gap between mock data and production data breaks people.

We survived because:

  • Rate limiting from day 1
  • Graceful fallback to demo mode
  • Admin diagnostics that showed us when upstream was lying

Phase 3: Make It Feel Right (V41-V75)

The joystick. The stamps. The net-sun calculation. The "Travel Joystick™" interaction that might define how people explore travel for the next decade.

This is the phase that matters. V1-V40 was table stakes. V41+ is where product becomes brand.

Key decision: We threw out a working slider (V40) and rebuilt travel control from scratch because it didn't feel like flipping through weekend options. It felt like setting a timer.

The joystick—spring-back physics, directional shuffles, travel time as a gestural push—that's the innovation.

Phase 4: Make It Right (V76-V89)

Swiss-first MeteoSwiss models. Fog-risk heuristics. Midnight refresh. Tomorrow-focused scoring. Tourism enrichment.

This is the polish that 99% of weekend projects never reach.

Why? Because the previous phases burned people out. We didn't burn out because:

  • The agents did the heavy lifting
  • The Notion docs kept everyone in sync
  • Every version was small enough to verify on my phone

What This Workflow Enables

When you can ship 89 versions in 7 days, you can:

Test product hypotheses live: Not "what do users say they want" but "what do users actually use on Sunday morning at 8 AM when they open the app."

Iterate on feel: The joystick went through 6 physics models. We could test each one with real Basel→Jura trips.

Build trust with data: Swiss destinations use MeteoSwiss models. Italian destinations use Open-Meteo. Fog-risk adjusts altitude scoring. These aren't features—they're proof we care about accuracy.

Ship personality: The vintage Swiss stamps. The "Chasing sun" toggle. The WhatsApp share with emoji timelines. These don't show up in sprint planning. They show up at 11 PM when you're using the app and think "you know what would be cool..."

The Infrastructure That Makes This Possible

Next.js 14 on Vercel: Push to GitHub → deployed in 30 seconds. No CI/CD config. No deployment pipeline. Just works.

Notion as system of record: Every decision. Every version. Every conversation with users. Searchable. Linkable. Always in sync.

Open-source weather + routing: MeteoSwiss, Open-Meteo, SBB, Google Maps. We don't maintain weather models. We don't run train schedule crawlers. We compose reliable APIs.

Two AI agents instead of one: Claude audits. Codex ships. Keeps them both honest. Prevents the "yes but actually no" problem where an AI says it did something but skipped the hard part.

What We Learned

1. Real products require real usage

Every version was deployed. Every version was tested in actual fog. This isn't optional. If you're not using your product every single day, you're guessing.

2. Speed compounds

V50 enabled V51 enabled V52. By V89, we were shipping features that would have been impossible at V10. Not because the code was better. Because the foundation was proven and we could focus on details.

3. Product-market fit happens in production

We didn't know people wanted vintage Swiss stamps. We didn't know "Chasing sun" was better than "Daytrip/+1 day". We found out by shipping and watching.

4. Documentation is a product feature

When you can hand a new agent (or person) a Notion link and they can catch up in 10 minutes, your velocity explodes.

What's Next

V90 through V200.

  • Multi-day trip planning
  • Saved favorite destinations
  • Weather push notifications ("Jura is clearing up!")
  • Group trip coordination
  • Calendar integration for automatic suggestions

But more importantly: we now have a workflow that can ship 10-15 versions per week forever. That's the real product.

Because when your competitor is planning their v2, you're shipping v147.


FOMO Sun is live at fomosun.com. Built with Claude (Anthropic), Codex (OpenAI), Next.js, and Notion. Follow the build at @fomosun.