What is failing?
Choice, not content availability.
Streaming solved access. It did not fully solve choosing. Tonight asks what fits this session—time, company, mood, energy and appetite for novelty—then combines that with long-term taste and catalog truth to offer a deliberately small shortlist.
This case is deliberately less agentic. It proves recommendation objectives, consumer behavior, experiment design and long-term retention trade-offs.
Streaming solved access. It did not fully solve choosing. Tonight asks what fits this session—time, company, mood, energy and appetite for novelty—then combines that with long-term taste and catalog truth to offer a deliberately small shortlist.
The five-step reasoning pattern stays consistent; the actual product logic is specific to this problem.
Choice, not content availability.
Time, company, mood, energy, novelty and device/context.
Overfitting to history, popularity bias, filter bubbles, maturity/rights mistakes.
Persistent taste + current intent + catalog eligibility + exploration.
Did the viewer find something worth starting and feel satisfied afterward?
This is how I would reuse the thinking without copying the product.
Historical taste helps, but tonight's occasion and group change the recommendation.
Long-term taste differs from workout, focus, commute or party intent.
A user profile is not the same as the current shopping mission.
Known preferences combine with time/location constraints in the current moment.
AI products often fail when one persona is treated as ‘the user.’
Has multiple services or a large catalog but wants to start something quickly.
Two or more preferences must be reconciled without endless compromise browsing.
Wants higher perceived catalog value, faster play decisions and retention without abusing watch-time optimization.
Viewer opens the service.
Default recommender can still work.
Time, company, mood, novelty.
Intent can be explicit or later inferred.
Candidate pools are generated and reranked.
Rights/maturity/diversity gates apply.
Viewer chooses one of three.
Explanation answers ‘why tonight?’
Outcome signal records completion/abandonment/satisfaction.
Next session updates, but one bad session should not rewrite identity.
Each decision includes an implicit reversal test: better evidence can change the choice.
Long-term taste is useful context, not a complete description of what the viewer wants now.
The product optimizes decision quality and time-to-play, not catalog exposure.
More minutes are not always more value; completion, abandonment and lightweight satisfaction matter.
One exploration slot protects novelty and catalog breadth instead of letting the ranker collapse into familiar popularity.
Every connector has a defined job. Animated dashed lines represent active evaluation/learning loops rather than decorative motion.
Translate explicit or inferred context into a structured session vector.
Blend collaborative filtering, content similarity, continue-watching, editorial and exploration pools.
Combine long-term taste, session intent, title features, recency, completion history and eligibility.
Score expected session fit, not generic engagement.
Apply rights, maturity, regional availability, diversity and repetition constraints.
Reserve controlled novelty so the system learns without flooding the user.
Generate ‘why tonight?’ only from ranking features and catalog metadata.
Play, abandonment, satisfaction and return behavior update objectives and A/B decisions.
Component eval, system eval and product outcome are deliberately separated.
NDCG/Recall by candidate pool, session-intent match, cold-start/new-title coverage.
Rights/maturity validity, repetition cap, catalog-source truth.
Genre/source concentration, long-tail exposure and exploration acceptance.
Control vs explicit-session vs inferred-session treatments.
Time-to-first-play, browse abandonment, Satisfied Session Rate, early abandonment and repeat-session return.
Retention and catalog diversity must not degrade while short-term starts increase.
The PRD is intentionally feature-level and includes AI behavior, deterministic controls, telemetry and non-goals.
Viewers often browse across a large catalog even when they can describe what fits the current session.
Capture minimal session intent and return three eligible choices with transparent fit within seconds.
session_context_opened · intent_submitted · shortlist_rendered · why_opened · play_started · abandoned_5m · session_satisfied · exploration_accepted
Typed state/schema · API/tool contracts · error states · permissions · eval fixtures · analytics events · rollout/rollback.
Use standard infrastructure for storage, models, tracing and connectors where it does not create strategic advantage.
Timeouts, stale data, partial results, rate limits and provider failures are explicit product states—not invisible backend details.
Every click represents a user/product decision and explains why the information is needed.
The same person may want a comfort comedy on Tuesday and a demanding documentary on Saturday.
31 min · calm · familiar-but-not-repetitive.
One exploration slot.
Matches historical preference.
No unfinished ending risk.
Matches current energy.
Uses long-term preference as context.
Avoids exact repetition.
A lightweight signal helps distinguish accidental playback from a genuinely satisfying recommendation.
A quick signal helps me understand what is useful to recruiters, founders and product teams.
Validate decision friction and session-context signal value.
Three-choice shortlist on top of existing recommender.
A/B test intent capture, shortlist and explanation.
Reduce friction using time/device/co-viewing signals with user control.
Offer session-intent ranking as a configurable OTT capability.
Stop or radically simplify if explicit session capture adds friction without improving satisfaction/retention, or if a standard recommender using passive context achieves the same value with less user effort.
Where the source material does not prove an implementation, the portfolio says proposed/candidate rather than “built with.”
Deloitte reports 41% of surveyed consumers had cancelled a paid SVOD service in the prior six months; retention remains a material industry problem. This does not prove decision friction is the cause.
Open source ↗Deloitte reports flat streaming spend and strong price sensitivity while media companies seek more personalized engagement. Product implication: recommendation quality must create perceived value, not just more inventory.
Open source ↗The specific hypothesis—session intent reduces decision effort and increases satisfied sessions—still requires primary research and controlled experimentation. It is not treated as proven by churn data.
Internal/source-project basisNo spreadsheet preview is embedded. Open the workbook only if you want the detail.