02 / SELF-INITIATED
2025
Guessflix
The first game I designed and built on my own
Play it guessflix.net- FOR
- Film lovers with ninety seconds and no obligation to stay.
- ROLE
- Everything. Concept, design, art direction, build.
- TOOLS
- Midjourney for the scenes. Cloudinary for image delivery. Bolt for the build, without opening an editor once.
- CONTEXT
- Week two of a twelve weeks, twelve websites run.
- STATUS
- Live.

Impact
LIVE, NOT INSTRUMENTED
Live at guessflix.net, and built without opening an editor once.
WHAT SHIPPED
90s
a round, ending on a result worth sharing
Week two of a twelve weeks, twelve websites run. Built entirely in Bolt, with the art on Cloudinary.
15
points for a hint, which keeps you looking
50
points for a skip, which is you leaving
Background
One question had been sitting in my head for years. What if your favourite films were trapped in a 1980s arcade cabinet?
I had shipped a lot of software by this point and never a game. Games have a property most products do not: nobody has to play. There is no job to be done, no workflow to complete, no cost to closing the tab. If the first fifteen seconds are not fun, that is the entire session.
The whole thing rests on one moment. Scattered pixels resolve, and a film you have known for twenty years arrives all at once.
Problem statement
Nobody has to play a game. With no job to be done and no cost to closing the tab, the first fifteen seconds decide the whole session, so everything rested on one moment of recognition.
The decisions
01The art was the product, so the pipeline was the problem
Dozens of scenes generated in Midjourney, all held to one retro register so the set reads as a single cabinet rather than a folder of experiments. That is the same art direction problem I had on Velveteen's Rabbit, at lower stakes and higher volume.
The part that actually unblocked the project was unglamorous. I put every image on Cloudinary and passed the URLs into the build, rather than trying to manage image files inside the app. That one decision turned art delivery into someone else's job and left me free to work on the only thing that mattered, which was whether the guessing felt good.

02Make giving up cost more than being wrong
A hint costs 15 points. A skip costs 50. That gap is the whole design of the scoring. A hint keeps you looking at the picture, which is where the game lives. A skip is you leaving, so it is priced accordingly.
Ninety seconds on the clock, with streaks and speed feeding the score. Short enough that a bad run costs you nothing, which is what makes a second run easy to start.
THE CORE LOOP
One moment of recognition, and a price on walking away from it.
03The result screen is the product's only distribution
Score, films identified, streak and accuracy, and then the part people actually came for: a cinephile profile with a verdict written for that result. Score one film and it tells you that you are either too cool for mainstream cinema or you have been living under a rock, and either way you are fascinating.
A number alone gives nobody a reason to post. A number plus a character reading of them is a thing worth showing people. Every share is a small piece of writing doing the marketing, which is the only marketing a weekend project can afford.

04Built without opening an editor
The whole thing was built in Bolt. I never opened VSCode once. That was partly the point of the twelve weeks, twelve websites run: find out what a designer can ship alone when the implementation is not the constraint.
What it cost is worth being honest about. I traded away fine control over the code for speed, and on a game that trade is fine, because a game is judged on whether it feels good and not on how it is built. On Keylark, a year later, I made the opposite trade and worked directly in the production repo. Knowing which project deserves which is most of the skill.
Reflection
Fun is a requirement, not a finish. Every other product I have worked on has a user who needs the thing to work. This one had to earn its own next fifteen seconds, repeatedly, from someone with no reason to stay.
The boring infrastructure decision was the one that saved the project. Nobody sees a CDN. Without it I would have spent the week on image loading instead of on the game.
I have kept coming back to the core moment since. A picture resolving out of noise, and the recognition arriving all at once. The thumbnails on this site do the same thing, which I did not plan and only noticed while writing this.