↗ expandTwo modes, not one archive
New users choose quick relief or taste-building.
Cine.pick started as a weird little movie randomizer. Fun once, not enough to come back to. I rebuilt it into a mood-first discovery MVP with two paths: quick help when you are tired, and taste profiling when you want to understand what you actually like.
This is an independent project, not a commercial product. I use it to show product thinking, interaction design, visual craft, front-end implementation, and where I draw the line between what shipped and what still needs validation.
Mood input → quick recommendation → Movie DNA → taste profile.
The first Cine.pick was closer to a playful button than a product: choose a number, get random films. I liked the energy, but the product had no memory. No reason to return. No sense that it understood you.
The early visual direction was loud, acid, almost Spotify-ish. It solved one tiny moment: “just give me something”.
The better question was not “can I randomize films?” It was “can the product learn enough about taste to make the next choice easier?”
Low energy, no filters, no scrolling. Needs a result fast and a short reason to trust it.
Wants aesthetic discovery, taste patterns, deep search, and a profile that feels personal.
I did not run market validation. I used directional interviews and prototype feedback to find where the randomizer idea broke, then changed the product loop around those signals.
Honest limit: 5 interviews is discovery-phase scope, not validation scope. This helped shape a coherent MVP, but it does not prove retention, recommendation accuracy, market fit or monetization. Before shipping this as a real product, I would run a 15–20 participant task-based round around the bifurcated onboarding, recommendation trust, and guest-to-registration moment.
“Explore the Archive” sounded useful, but it pushed people into browsing. That was exactly the behavior I wanted to reduce. I replaced it with two action-first paths.

A library-first CTA duplicated the top navigation and did not solve cold start.

The onboarding now asks what kind of help the user needs: build taste or get a quick recommendation.
I kept the final story small: choose a mode, get a recommendation, understand why it fits.
For tired users, the product should reduce choices instead of asking for more input.
A few questions can create a more interesting result without becoming the whole product.

Swiping solves cold start faster than asking a new user to rebuild their whole film history.
No fake metrics here. These are qualitative signals from interviews and prototype walkthroughs: what changed, what went to backlog, and what I consciously accepted as a trade-off.



“There is only one film in Editor’s Pick — it would be cool to make a carousel.”
The ask was valid. A single hero film was an intentional MVP constraint: curation signal over choice overload. But it does limit repeat visits. I put carousel exploration in the backlog for when the content library has enough editorial depth; adding it too early would create empty states worse than the single-hero version.
“Add to Watchlist could change colour or animate to confirm.”
Missed state. I had designed the trigger, but not the confirmation. That was a happy-path gap. I deferred it out of the first MVP build, but documented it as a P1 polish item: added → confirmed state, with a small haptic-style micro-interaction.
How I use this: validated findings are weaker than changes. They justify continuing the direction; they do not prove it is right. The harder work is still in the iterations and next validation plan.
“I wanted to register, but I couldn’t.”
Conscious decision. Registration is disabled in the demo because Cine.pick is a portfolio MVP, not a live commercial product. The cost is real: some people ignore the entry disclaimer, hit a wall, and lose immersion. I accepted that for this build because real auth was not worth the backend scope. In a live product, registration would become the main conversion target of the CineMatch guest flow, and the DNA teaser is designed for that future moment.
The MVP does not need every social feature, review system, or streaming integration. It needs one understandable loop.
Open reviews would add noise and moderation debt. If Cine.pick ever becomes social, I would start with structured reactions: agree/disagree with vibe tags, suggest a tag from a controlled list, and taste compatibility with friends.
The product is about discovery and taste, not only consumption. Streaming links can help, but they should not flatten the experience into a utility page.
The dark, cinematic UI is not just trend styling. It supports the idea of a niche film journal with product logic underneath.
A recommendation product loses trust quickly when pages feel empty. I added a few small states so the MVP does not collapse when the database is thin.

The gallery does not pretend data exists. It says stills are coming and keeps the layout calm.

Instead of leaving the editorial section empty, the page can point to films with a similar vibe.
Agree / disagree with a mood tag would help the database learn without opening the door to messy open-ended UGC.
I used AI like a build partner: useful for scaffolding, debugging, and variants. The product choices stayed mine.
Implementation scaffoldingPHP, JS, CSS structure and small interaction states.
Debugging and edge casesLayout issues, empty states, small database logic.
Content and tag explorationDrafting possible moods, vibe tags, and film metadata patterns.
Problem framingFrom random result to taste-aware discovery.
Interaction modelTwo entry modes, Movie DNA, cold start, and scope cuts.
Final judgmentVisual system, QA, what to ship, and what not to claim yet.
This is a working MVP ready for structured validation, not a proven market product. That distinction matters.
The useful move was not making the app smarter. It was making the first decision smaller.
I like products with a strong mood, but I do not want the mood to hide weak logic. This case helped me practice cutting the cute parts, keeping the useful parts, and showing the limits clearly.
The next version would need better recommendation data, a cleaner DNA model, and a proper validation study. I know that. That is the point.