Building an F1 app people pay for

KiedyF1.pl and CalendarF1.com. It started as one HTML file in March 2025. Today it is two websites, one app on iOS and Android, a social feed that makes itself, and paying subscribers I have never met. I’m not a developer: the code is written with Claude Code.

ROLE
Everything: product, design, distribution. Code with Claude Code.
SINCE
March 2025
STACK
Claude Code, Astro, Expo / React Native, Node bots, OpenF1, Postiz
STATUS
Live, still shipping weekly
First
paying subscribers, since 11 Oct 2026
800+
app downloads since September, without paid ads

Downloads: App Store Connect + Google Play. Visitors: Google Analytics on kiedyf1.pl and calendarf1.com. Updated twice a day; daily numbers on /seen.

01 THE START

A page I wanted for myself

Every race weekend I googled the same thing: what time is qualifying in Poland? So in March 2025 I made a page that answered it. HTML copied back and forth between Claude and Gemini, graphics exported from Figma by hand, uploaded over FTP.

It worked, and then it sat there. Search traffic was a flat line for almost a year. In early 2026 I rebuilt it from scratch with Claude Code in the terminal: a page for every race, driver, team and track, results that update themselves after each session.

KiedyF1.pl in 2025: one dark page with the next Grand Prix and session times 20252026

Drag to compare. Left: the first version, made in chat windows. Right: the rebuild, live today.

The rebuild is when Google started sending people. Search visitors per month, both sites:

Mar27
Apr67
May79
Jun259
Jul273
Aug158
Sep193
Oct271
Visitors from Google search per month, kiedyf1.pl + calendarf1.com, 2026 · Google Analytics

02 HOW IT GREW

Website, redesign, second language, app, money

  1. Mar 2025The siteOne static page, Polish times
  2. Feb–Mar 2026RedesignAstro rebuild, every race, driver and track
  3. Mar 2026In EnglishCalendarF1.com, your own time zone
  4. Sep 2026The appiOS and Android in nine days
  5. Oct 2026First moneyPlus subscriptions, Poland and the US
Every step, with dates
  1. Mar 2025First KiedyF1.plStatic HTML, one season, made in a chat window, shipped by FTP.
  2. Feb–Mar 2026Rebuild and redesignAstro and Claude Code. Cockpit look, iCal export, post-race auto-updates.
  3. Mar 2026CalendarF1.comThe same machine in English. Today 139 pages.
  4. Jun–Aug 2026Search groundwork, 2027 seasonIndexed pages went from 8 to 38. Multi-season data, so 2027 went live the day the FIA published it.
  5. 17 Sep 2026iOS app liveStarted on the 13th, in the App Store four days later.
  6. 22 Sep 2026Android liveBoth brands on Google Play.
  7. 28 Sep 2026Telegram bot switched offFive subscribers after six months. The app replaced it within a week.
  8. 11 Oct 2026First paying userPlus on Google Play. The second came four days later from the US App Store.
  9. 13 Oct 2026One app, two facesApple rejected “F1” in the CalendarF1 name, so iOS became one app: Polish phones see KiedyF1, everyone else CalendarF1.
  10. Oct 2026iPhone Duo, Sync with TVA two-screen “pit wall” layout and a replay that follows your TV.

03 THE APP

Six months of a website, then two months of an app

Most of the work happened after the app started. September and October hold 636 of the 756 commits across both repos.

Mar9
Apr6
May0
Jun29
Jul4
Aug37
Sep366
Oct270
Commits per month, KiedyF1 + CalendarF1 repos, 2026 · git log

The app does one job well: tell you when, and show you what is happening right now. Point at or tap a line to see it in the app.

Downloads follow the calendar. Quiet weeks bring 15 to 25 a day; a race weekend doubles or triples that.

3–27 Oct 2026692 downloads
Singapore GP weekend (9–11 Oct)134
US GP weekend (23–25 Oct)154
New app downloads per day, iOS + both Android apps · App Store Connect, Google Play · red = race weekend

When the iPhone Duo went on sale in October, the app already filled both screens. Then people started sending me photos of it on their own Duos, and Dominik Łada wrote about it in iMagazine.

An unfolded iPhone Duo standing on a table, showing the app's US Grand Prix screen A hand holding an iPhone Duo with the app open on both screens The app's App Store page open on an iPhone Duo

Photos sent in by people using the app. Each one also showed me something to fix, and the next updates did. Click to enlarge.

iMAGAZINE · 25 OCT 2026 · DOMINIK ŁADA Kolejny polski program, który zrobił na mnie znakomite wrażenie, to KiedyF1. “Another Polish app that made a great impression on me is KiedyF1.” Read on imagazine.pl ↗

04 THE SOCIAL MACHINE

Social media that makes itself. I only press yes

Two brands on X and Instagram would be a full-time job by hand. A year ago it was: every graphic exported from Figma. Now a session ends and the post is waiting for me before I open the app.

  1. Session endsA bot watches the timing feed
  2. Results checkedThree sources must agree
  3. Graphics renderedStatic posts and short animations
  4. Caption writtenPassed between models, with fallbacks, then reviewed
  5. Draft in PostizPreview lands in Discord
  6. I approveYes publishes, no kills it
Eight KiedyF1 social templates: race weekend, race result, team battle, track facts, countdown, driver standings, this day in F1, qualifying
Eight of the templates. Each comes square for X, 4:5 for the feed and as a story. Click to enlarge.

The hard part was never the graphics. It was keeping publishing stable on cheap or free AI models: captions move from one model to the next when one fails or goes quiet, and the human step stays at the end.

Going forward social becomes mostly a way to promote the app: the weekend schedule, who won, and what is new in the app. The work goes into the app itself.

05 WHERE IT IS

Not a business yet. But strangers paid

As I write this the season has mostly settled itself: Antonelli is world champion. The winter goes into building. A better driver dashboard, probably predictions, and partnerships that could help the app pay for itself.

What I’m happiest about: something I made without spending anything on promotion has over 800 downloads across the App Store and Google Play, and people pay for the part that isn’t free.

06 TRY IT