← WorkPowder Kings

A daily arcade snowboard racer. 10,000 drop-ins in under two weeks.

Play Powder Kings ↗
Role
Designed and directed solo, built with AI
Period
2026 — ongoing
Owned
Game design, art direction, interface, sound, analytics, launch and the tools behind them
Outcome
10,000+ drop-ins from 300+ riders in 50+ countries, two weeks after the first prompt.
01

A new mountain every day

I like mobile games, but I’m tired of the ads. I like daily games too, but most of them get to “that was ok” and stop. There’s a design renaissance happening in games right now, and I wanted to see how far a daily game could go. I also really missed Downhill Domination and SSX Tricky, and the feeling of throwing yourself down a mountain.

So that’s Powder Kings. There’s one new mountain a day, the same for everyone, with big airs, ghost races and a fresh leaderboard. It’s free and runs in your browser, on your phone or computer, with no ads and no sign-up.

A run on my phone, racing my own ghost.
02

Getting the feel right

The first version took three hours, and on paper it had everything: daily courses, shortcuts and hairpins. It also had no soul. AI can make the thing, but it can’t feel it. That part is your job.

So I broke the game down element by element: the camera, the speed, the landings, the rider. Anything you have to judge by feel got a slider, so I could set it while playing.

The first version, then called Snowline: a small rider on a pale slope among angular trees, with a busy racing HUD
Version one, three hours in.
The second version: the rebuilt mountain and rider on the title screen, with a bold headline over the slope
The rebuild, where it started to come together.
Tuning the world by eye, then pasting the values back into the build.

The rider is where it really clicked. I went through six in a day, generating loose concepts to react to, then building the final one in Blender and checking it against the concept from every side. Once the bean turned up, everything else started to fall into place.

Six versions of the rider: a toy figure, a vinyl bean, a clay character, a generated puffer bean, a hand-built puffer bean and the final rigged version
Six riders, one day. The last one is the one you play.
03

Everything around the game

What I’m proudest of is how quickly it’s filled out. Two weeks in, it has ghost racing, daily weather, a rider you can customise, accounts with time alerts, a full soundtrack and an announcer. That’s a lot for one person, and it’s the part that shows what this way of working can do.

My favourite piece is the dare. Tap DARE A FRIEND and the game draws a card from your run, with your rider in your colours, mid-grab, and your time against a blank. Your friend gets that image in the chat, and the link puts them one tap from racing your ghost.

A dare card: a coral rider mid-grab beside “POWBANDIT 29.70” versus “YOU ??.??”, on Crown Peak, today only
Every dare gets its own image, drawn from that rider and that run.
The finish screen on a phone: the time, “3.29s behind Sideways Steve” with a RACE button, GO AGAIN, DARE A FRIEND, and the day’s board alongside
The finish screen always gives you someone to chase next.

Then there’s the replay studio, which is complete overkill and which I love. Every run is saved as data for ghost racing, so the same run can be filmed again with any camera. The studio cuts a race automatically, mixes the sound and exports a video ready for socials, and I can trim every shot on a timeline. The game films itself.

The replay studio: a vertical preview of a race, a timeline of shots underneath and camera, format and sound controls on the right
The replay studio, with shots on a timeline and the day’s riders on the right.
Three cuts from the studio, all made from real run data.
04

Watching people play

I put it on Reddit, and strangers started turning up from all over. One has made over 500 attempts. The feedback has been lovely, but people being nice doesn’t tell you what to fix, so I built analytics to see what they actually do.

That changed real decisions. Crashes looked like the obvious reason people might leave, and the data mostly said otherwise, except on a very first run. Most riders who went again got faster, so the finish screen now puts your next run one tap away, against your own ghost or the rider just ahead of you.

The analytics page: visitors, riders, finishers, next-day return and shares, above a funnel and finish-screen button counts
The analytics page, from first visit to first share.

It’s also been great to see the game travel. Within ten days, accounts I’d never heard of were sharing it on X as a cool new game, using a clip of my own run.

A post on X about Powder Kings: “a 10-day-old game had 97 people playing yesterday”, with a clip of a run on a phone
One of the first posts about it on X.
05

How I work now

I think of AI as a Library of Babel. All the content is in there, and someone has to arrange it. I used to do that by hand in Figma, Adobe and Blender. Now I can curate much faster, using AI to execute my taste and fill in the blanks like accounts, security and profanity filters.

It can be a monkey’s paw, because it gives you exactly what you asked for. That’s why it takes a designer to get something good out of it. I still design in Figma, and I keep every piece of work on a board so I always know what’s live.

The title screen after the Figma redesign, with the title, description and buttons on a frosted card
A menu designed in Figma, then built straight back into the game.
The ticket board: active and planned work in rows, each with a short status note, a date and a staging or live tag
The ticket board, so I can see what’s where at a glance.

Before, I could design the product I imagined. Now I can deliver it. You get the whole pipeline from one person, with a designer’s taste and craft all the way through.

06

Where it goes next

Next up are streaks, and more reasons to come back tomorrow. After that, more games, for myself and for clients.

If you’ve got something ambitious you want to feel this good, my email’s below. Today’s mountain is open in the meantime.