Every NFL season, two friends and I predict the score of every game. For years we ran it on Kicktipp. For the 2026 season I built our own. Pick Six keeps the Kicktipp rules we already knew and puts them inside something that looks like a 1992 Sega football cartridge. It went live on 7 September, before the season opener, and the three of us have picked every game since.
The real game is private, so I built a public demo alongside it. My two friends are swapped for invented players, Bill and Tony. Every pick and score is generated, and the season is frozen mid-week 4 so you can see finished, live and open weeks at once. Nothing you tap leaves your browser.
Kicktipp does the job, but using it every week was a chore:
- Outdated UI and UX. It looks and feels like a spreadsheet, and it’s boring to open.
- Saving scores is a pain, especially on a phone, which is where we pick.
- It’s built for every sport, so nothing about it is made for the NFL.
- The free version keeps interrupting you with modals and ads.
I wanted a game made for exactly us: three players, one league, a pre-season bonus round, and something we’d actually look forward to opening every week. It was also a chance to see how far a designer can take a real product with AI as the engineering partner.
- Me + two friends. We’re competitive, we’re mostly on our phones, and we already know the Kicktipp rules.
- Three real people also means three real ways to cheat, forget, or mistype a score, so the product has to handle all three.
- We play the whole season on it, with no fallback to Kicktipp.
- Picking a full week of games takes a couple of minutes on a phone.
- Scores come in on their own during games, and the table is always right.
- It runs by itself all season. No babysitting from me.
- A real published web app, not a prototype link. It installs to the home screen like a native app.
- Free-tier infrastructure only.
- Fair play: each game locks at its own kickoff, and nobody sees anyone else’s pick until then.
- Live data from public sources (ESPN) for fixtures, betting lines and scores.
Season: every week at a glance, with flags for missing picks.
Week: pick scores, see who's already picked.
Quick Play: one game at a time, thumb-first.
Ranking: season table and week winners.
I set the working order before any code existed, and kept to it:
- Visual style first. I built a working prototype with the real 2026 schedule and simulated results. The whole look was judged in the browser, not in Figma.
- App logic second. The Week screen’s states, Quick Play, the bonus round and the playoffs were all designed and tested in that prototype before there was a backend. That’s how we caught a pick being credited to the wrong player, a bug that would have been much harder to find once real data was involved.
- Tech stack last. Only then did we pick the stack and ship it.
- AI as the engineering partner: I made the product and design calls, Claude Code did most of the building. Explore, propose, then I choose.
1. Season: every week in a grid, color-coded as played, in play or open, with a flag for missing picks.
2. Week: enter a score for each game. Each game locks at its own kickoff, then live and final results come in.
3. Quick Play: one game at a time, built for filling in a whole week from your phone.
4. Bonus round: 13 pre-season calls (division winners, conference finalists, Super Bowl), locked at the opener.
5. Ranking: season table, week winners, and an archive of past seasons.
- Arcade shell, not arcade mechanics: no XP, combos or power-ups. Nothing in the game layer can change who wins the league.
- Football’s words over game words: it’s a Week, never a “level”. High Scores became Ranking.
- The smaller, more charming option wins. A full announcer commentary feature became two sampled moments.
- 8-bit discipline: no border radius, no gradients, no blurred shadows. Hard offset shadows, and shading done with dithering.
- Measure, don’t guess. Sprites, music and the announcer voice were compared side by side in small “lab” pages until they looked and sounded right.
- Hide picks until kickoff, per game. In the prototype everyone’s picks were visible, which was fine with simulated data. With three real people, a pick you can see before kickoff is a pick you can copy. Sunday’s 1pm games open up at 1pm, and the 4pm games stay hidden until 4pm.
- But show that someone has picked. A line sits where their score will appear, so you know who you’re still waiting on without seeing what they chose.
- The rules changed mid-season. After week 1 we moved from flat 4/3/0 scoring to 4/3/2/0, so picking the right winner earns something. The opener was re-scored the same day.
- Reminders became a calendar, not push notifications. Web push needs a permission prompt and doesn’t work everywhere on iPhone. You subscribe to a calendar feed instead, and it reminds you before the first kickoff and before the Sunday games.
- “CPU Pick”, which auto-filled picks from the betting line. Not needed, and it undercut the point of the game.
- 3-letter arcade initials and color-coded player dots. Names alone read better.
- CRT scanlines, a perspective stadium, and synthesized crowd noise. Each one looked or sounded worse than the simpler version.
After kickoff: real scores, everyone's picks, and points earned.