Punt
Sports predictions, without the stakes
Punt is a free-to-play sports prediction game for football and cricket fans. Before or during a match, fans answer five questions about it, earn Fanpoints for getting them right and compete against everyone else who played — without a penny being staked or won.
I took Punt from idea to the App Store and Google Play, designing and building the whole product myself — the app, the game mechanics and the systems that run it.
- Role
- Founder, Designer & Developer
- Responsibilities
- Strategy, design & development
- Platform
- iOS and Android
- Technology
- React Native, Expo & Supabase

The problem
Sports predictions shouldn't have to involve money.
Calling the result before kick-off is one of the oldest parts of being a fan. But the products built around it had become almost entirely about gambling: odds, stakes and offers designed to keep people betting rather than enjoying the game.
I saw an opportunity for something different — a way for fans to test what they know, back their instincts and compete with others, with nothing on the line but their pride.
Taking the money away removes the reason most prediction products work, so the challenge was to replace it:
- Something worth getting right. Without winnings, a correct call needed to feel earned, and a brave one needed to feel better than an obvious one.
- Something to come back for. One match is a moment; the product needed reasons to return on the next matchday, and the one after.
- Something to show for it. Fans needed a status and rewards that meant something — which only works if nobody can buy their way up.



The solution
A prediction game where the crowd is part of the challenge.
Punt is built around a simple loop: pick a match, answer five questions, and see what you won when the final whistle goes. Everything else — prices, streaks, status and squads — exists to make that loop more rewarding and to bring fans back for the next one.
I focused on five core principles:
Quick to play, before or during.
Every match has the same card of five questions, available before kick-off and while the game is on, so fans can join in whenever they pick up their phone.
Reward being right when others aren't.
What a correct answer pays depends on how many other fans chose it. Backing the favourite is safe; calling the outsider is worth more.
Close the loop.
When a match finishes, it resolves automatically from live stats. Fans get a notification with what they won, and the match shows each answer, what it paid and where they stood against the crowd.
Give people a reason to return.
Matchday streaks, weekly and monthly leaderboards and club squads give every fan something to protect and something to chase.
Make status something you earn.
Fanpoints build towards Fan Status, which unlocks partner perks. Nothing can be bought that moves a fan up it faster.


The design & key decisions
Designing the game, not just the screens.
01. One card, five questions
Every match gets five questions. Two are always there — Team to win and Most goals or Most runs — because anyone can answer them and they make matches comparable. The other three are dealt from a pool of thirty-two, from most assists to most sixes, so two matches in a row never feel the same.
02. Let the crowd set the price
A correct answer pays between 25 and 100 Fanpoints depending on how many people picked it: the answer everyone is on pays 25, one nobody else took pays 100. The price is locked the moment a Punt is placed, so a pick that becomes popular later still pays what was promised.
The effect is that the leaderboard rewards how often you were right when most people weren't, not simply how much you played.
03. Show fans where they stood
Fan consensus shows how everyone answered each question, and every settled answer is labelled With the crowd, Split the crowd or Against the crowd. It turns a result into a story: not just that you were right, but that you saw something others didn't.
Consensus originally stayed hidden until a fan had answered, to stop people copying the crowd. Watching how people played showed the opposite problem: fans skipped questions they weren't sure about rather than make a contrarian pick, so the hard questions went unanswered. Opening it up cost less than the empty questions it caused.
04. Reward turning up
A streak counts consecutive matchdays, not calendar days — almost a quarter of days have no fixture, so a quiet week shouldn't break a run. Each matchday adds 1% to everything a fan wins, capped at 30%, so a long streak is worth protecting without making a weekly leaderboard unwinnable for someone who joined last month.
05. Status you can't buy
Punt Pro originally boosted Fanpoints by 25%. I removed it: if paying moves you up the ladder faster, Fan Status can't carry real rewards. Punt Pro now sells things that don't touch the competition — deeper stats, streak protection and holographic icons — and Fan Status unlocks partner discounts.
06. Make it about the club, too
Fans can join their club's squad, which competes on its own leaderboards using the total of its members' Fanpoints. It gives every Punt a second purpose: playing for yourself and for your side.
07. A number people can trust
A game without money still has to be fair. Every Punt is priced and recorded on the server, and once placed it can't be changed. Leaderboards, pricing, streaks and resolution all run in the database, so two screens can never disagree about a number.



Iteration & delivery
Launching was the start, not the finish.
Because Punt was live, every mechanic could be measured, and several didn't survive contact with real fans.
Rebuilding Fan Status around real behaviour
The original ladder looked sensible on paper. In practice, 86% of everyone who had played was still on the first rung, and nine of the twelve levels had never been reached by anyone. I rebuilt it from what fans actually earned — around 81 Fanpoints a match — so the first level-up lands inside a fan's first match, and every rung above is spaced so a single match moves you at most one level.
Designing for the second visit
The biggest drop-off happened before people placed anything at all. Streaks, the match summary, result notifications and perks all exist to give a fan a reason to come back the day after their first match.
Cutting what nobody used
Features earned their place or went. A per-match leaderboard that few people opened was removed, and its space went to things that did get used.
Changing the game without shipping the app
Pricing, the streak bonus, the question pool, Fan Status thresholds and partner perks all live as data rather than code, so most changes are a database update rather than a new release. Instead of mocked unit tests, around fifty verification scripts run against the real database, setting up their own fans and matches and checking the game behaves as designed.



Outcomes & learnings
A live product, built and evolved from the ground up.
Punt went from an idea to a live product on iOS and Android, covering football and cricket fixtures from around the world, with crowd pricing, streaks, squads, Fan Status and partner perks all running on top of live sports data.
- 7,255
- Registered users
- 200K+
- Punts made
- 21,891
- Match sessions
What I took away
Designing a game is designing incentives. Every number on screen — what a pick pays, how long a streak lasts, how far apart the levels sit — changes how people behave, and getting those numbers right mattered as much as any interface.
Removing the money made that harder and more interesting. Without winnings, the product had to make being right feel earned, and keep status honest enough that rewards could hang off it — which meant turning down revenue that would have undermined it.
Building it end to end meant I could keep iterating after launch rather than handing designs over. Some of Punt's best decisions came from watching real fans play and being willing to change mechanics that looked right but weren't working.