Skip to content
Mohammad Sharifi
Back

Movie Decision

Time, mood, and company in. One movie out. Co-built with Reyhane in 14 days, from idea to live site.

ShippedWeb App

The problem: thirty minutes of scrolling, still nothing to watch

The full flow, captured from the real app.

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.

Landing ticket asking: Don't know what to watch?
One question, two buttons, no catalog.

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.

Step 1: how much time do you have
1. Time
Step 2: what mood are you in
2. Mood
Step 3: who are you watching with
3. Company
Each answer moves you to the next step on its own.

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.

Recommended movie ticket with poster, runtime, genres, and synopsis
One movie, with your three answers kept up top so you can change any of them.

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.

Accept the pick and the ticket prints. Confetti included.

It runs in English and Persian, with full RTL and Persian numerals.

Landing ticket in Persian, right-to-left
The same ticket in Persian, right to left.

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.

Watchlist with one saved movie
The watchlist, for picks you want to save for later.

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.