Movie Decision
Time, mood, and company in. One movie out. Co-built with Reyhane in 14 days, from idea to live site.
The problem: thirty minutes of scrolling, still nothing to watch
You want to watch something tonight. Thirty minutes later you're still scrolling. Movie Decision treats that as a decision problem, not a discovery problem.

Time, mood, company: three taps to one movie
The app asks three things: how much time you have, what mood you're in, and who's watching. Each answer moves you to the next step on its own. Then it hands you one movie with a poster, runtime, and a reason. There's no grid and no prompt to write.



Under the hood, time is a hard filter on runtime. Mood and company are scored, anything already shown this session is skipped, and the top fit wins. Not feeling it? Try Another rerolls without dropping you into a list. Surprise Ticket skips the questions entirely.

A cinema ticket UI, in English and Persian
The UI is a retro cinema ticket: perforated notches, an APPROVED stamp with a bit of physics when you accept, and confetti.
It runs in English and Persian, with full RTL and Persian numerals.

Built in nine days by two people
Built over nine days with Reyhaness. They set up the project, the first UI and API, the TMDB enrichment pipeline, and the watchlist. I did the ticket UI and motion, the bilingual RTL layer, the randomizer, test coverage, and this demo, which is captured from the real app with Playwright.

Work in progress: test the idea, then rebuild the scoring
This is a work in progress. The flow works end to end, but the idea behind it is still a bet. Does knowing your mood and company beat a generic pick? Would people rather get one movie than a shortlist? Does one pick make you confident enough to press play? We haven't tested any of that with real users yet.
Next up is the scoring engine. In the current version, mood and company add to one score. In the next one, mood alone ranks the movies, and company only makes a movie more or less likely to come up instead of knocking it out. With a small, hand-picked catalog, that should mean fewer "no strong match" dead ends.
The goal hasn't changed:
Get you from "I want to watch something" to "this one" before the popcorn's ready.