MARIANA OKA

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.
The Guessflix start screen. A pixel-art logo in red on black, the prompt asking whether you are a true cinephile, three cards explaining the ninety second timer, unlimited streak and points, and a start button.
FIG 01

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.

In play. One scene, a title field, and two ways to buy your way out of it.
FIG 02In play. One scene, a title field, and two ways to buy your way out of it.

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.

THE MOMENTScattered pixels resolve, and a film arrives all at once.4 × 48 × 816 × 1632 × 32GOT IT90son the clock. Short enough that a bad runcosts nothing, so a second one is easy to start.THE PRICE OF LEAVINGGiving up costs more than being wrong.Hint−15keeps you looking at the pictureSkip−50you leaving, priced accordingly
FIG 03Left, a scene resolving the way every round does, drawn for this diagram rather than taken from a film. Right, the scoring: a hint keeps you looking and costs 15, a skip is you leaving and costs 50.

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.

The end screen. Four numbers, then the part people screenshot.
FIG 04The end screen. Four numbers, then the part people screenshot.

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.

SEE IT LIVE

guessflix.net

Everything above, running. Opens in a new tab.

Play it Guessflix