KFC Biiig Boss Burger Run: Building a Browser Game That Actually Got Played
I’ve shipped a lot of things that looked good in a deck and then quietly died the moment they hit real users. This wasn’t one of them. KFC Biiig Boss Burger Run has been live since June 6, and by the time I sat down to write this, it had been played 73,829 times by people who had zero obligation to care.
That number is the reason I wanted to write this up properly instead of just letting it sit on LinkedIn for a week and disappear.
The brief
KFC Kenya was launching the Biiig Boss Burger and wanted something online to go with the usual posters and billboards — a piece of the campaign that lived on the web, that people could actually do something with instead of just look at. That’s a wide-open brief in a way that’s more useful than it sounds. No feature list, no wireframes to follow. Just: give people a reason to spend a minute with the brand instead of scrolling past it.
I’ve built a version of this brief before, so I knew roughly where I wanted to land: a game, in the browser, no app store in the way.
What I built
KFC Biiig Boss Burger Run is a pixel-art endless runner set in a Nairobi streetscape. You dodge obstacles, grab burgers, buckets, and wings as you go, and your run ends on a public leaderboard. No login, no download — open a link or scan a QR code and you’re already running.
The other piece, and the one that ended up mattering more than I expected, is a built-in “share your score” feature. Every run ends with something worth showing off, and the game hands you a one-tap way to put it in front of someone else. I’ll come back to why that turned out to be load-bearing.
A few calls shaped how it plays:
- Leaderboard-first. The board isn’t a bolted-on feature, it’s the reason to play again. Watching your rank move while other people are playing is most of the pull.
- Zero friction in. Every login screen, every app store step, is a person you lose before they’ve even played. So there aren’t any.
- A leaderboard worth trusting. A public leaderboard nobody can rig is worse than no leaderboard, so score validation and anti-cheat were in from day one, not bolted on after someone found a way to cheat it.
Under the hood
It’s an HTML5 Canvas build in JavaScript on the front end. The leaderboard runs on Fastify and Redis for the fast reads, Postgres behind that for persistence, all sitting on Hetzner with Cloudflare in front — built to hold up when a few thousand people are hitting it at the same time, because branded games either get that kind of traffic or they weren’t worth building.
Where AI fits into this: I used Claude Code hard to move fast, but it wasn’t making the decisions that mattered. Game feel, the art direction, the anti-cheat logic, the leaderboard architecture — that was all still on me. What AI took off my plate was the slow, repetitive stuff: scaffolding, boilerplate, the kind of debugging that eats an afternoon for no creative reason. It didn’t build the game. It cleared enough friction that a fast turnaround was actually possible.
What happened when it went live
The game sat at a quiet, normal baseline for about a week — a few dozen active users a day, which is what you’d expect from a link nobody’s seen yet. Then around June 15 it spiked, hard, up past 2,000 active users in a single day, before settling back down into a longer tail.
Here’s where things stand as the leaderboard closes out:
- 79, 357 total plays, against ~17,600 views — so people who landed on the game played it roughly 4.5 times on average. That’s not a number you can fake with ad spend. That’s a game people wanted to run again.
- 9,185 active users in the reporting window, up from a near-zero baseline before launch.
- 4,574 submitted scores — about 28% of everyone who saw the game went on to submit a leaderboard-eligible run.
- 3 minutes 16 seconds average engagement per active user, on a game where any single run is over in seconds.
- Reach into Kenya plus nine other countries — the US, Germany, Hungary, the Netherlands, the UK, Indonesia, France, South Africa, and Malaysia — with no international media spend behind any of it.
I want to be straight about where that traffic actually came from, because “it went viral” is a lazy story. Referral and direct links made up about 91% of all sessions, barely anything came through organic social or search. That’s not pure word-of-mouth — the campaign had real marketing support behind it, including influencers — but it’s also not paid reach doing all the work. The built-in share feature gave every good run a reason to get passed along, and the marketing push gave it somewhere to land. Both things had to be true for the spike to happen the way it did.
Why this isn’t a fluke
Branded games have a track record when they’re built right. KFC Japan ran a mobile game called Shrimp Attack to launch a shrimp menu item a few years back — 854,454 total plays, a 106% jump in in-store sales, and an average of 4.4 plays per person. That last number is the one that stuck with me, because it’s almost exactly what I measured here without knowing the comparison going in: ~4.5 attempts per view. Different game, different country, same underlying thing — a game people replay pulls harder than an ad they scroll past once.
That’s the actual pitch for building a game instead of a banner. Not that it’s fun (though it should be), but that fun is a growth mechanic. Every replay is free reach a static ad can’t generate.
What I’d change next time
A few things, if I got to run this again with what I know now:
- Prizes during the spike, not just at the end. The whole reward pool landed at competition close. If I’d triggered same-hour micro-prizes when traffic surged on June 15, I think a chunk of that spike’s energy would have converted into repeat plays instead of a one-time visit.
- Same-day leaderboard call-outs. Announcing top scorers daily, even hourly during the spike, would have been more shareable — and more believable — than waiting for one big reveal at the end.
- A nudge back within hours, not days. Week-one return on this game sits in the low single digits, which tracks for a runner people try once when it’s fresh. A same-day “you’re ranked #47, beat it” message while the spike was still hot could have pulled a real slice of that one-time crowd back for a second run.
None of that changes what already happened. But it’s the clearest lever I can see for whatever I build next in this format.
Play it
The leaderboard’s still open, if you want to see where you land: runner.arnelese.com
Built end to end — gameplay, art, backend, the whole thing — by me, at Arnelese Creative Technology Studio.

Contact Form