PopChoice Docs
Portfolio evidence

Product Flow Evidence

Source and test evidence for the current PopChoice recommendation flow.

Canonical behavior lives in Product Behavior Specs. This page keeps the portfolio-facing path short and points directly to source.

Current path

StepStatusBehaviorPrimary evidence
LandingProduction verifiedThe public landing presents PopChoice and leads into the quiz.Production, landing source, browser test
Match depthProduction verifiedThe first quiz decision is Fast Pick or Normal Match.Quiz intro, state machine, capture
AudienceProduction verifiedThe second decision is Solo, Duo, or Group.Audience component, state-machine tests, capture
Same-device setupShipped in developmentSolo uses one participant; Duo uses two; Group accepts three to six. Duo/Group pass the device between participants.Quiz page, group setup, e2e matrix
Taste signalsProduction verified for the Fast Pick intent/hard-avoid screens; remaining detail is Shipped in developmentNormal Match asks optional reference movie, era, mood, tone, discovery appetite, hard avoids, and optional actor. Fast Pick asks intent, hard avoids, and discovery appetite.step view model, Fast Pick steps, normal steps, hard-avoids capture
Submit/progressShipped in developmentThe quiz creates a persisted recommendation, moves to /results/{slug}, and renders polling/progress states while work is pending.submission hook, create API, result client, controlled deterministic capture
Completed resultShipped in developmentA stable result URL renders the top pick, alternatives, explanation/evidence, and solo/Duo/Group-specific copy.results view, result e2e, deterministic Duo result
Failed resultShipped in developmentA persisted terminal failure stops polling, explains that the recommendation did not finish, and starts a fresh quiz rather than retrying the same record.result client, poll stop condition, controlled deterministic capture
Feedback/follow-upShipped in developmentEligible viewers can submit correction feedback. More like this records useful feedback; Try another records not-for-me feedback; both request the one allowed more-picks batch.feedback panel, feedback API, more-picks API
Share/reloadShipped in developmentThe result uses its current stable URL for Web Share or clipboard fallback and can reload from persisted data.share implementation, result GET API, same deterministic result after reload

The progress and failed screenshots use controlled status changes in the disposable E2E database. They prove the persisted read model and real result UI for those states; they do not prove worker timing, a real BullMQ retry, or a production failure.

Anonymous and account behavior

Shipped in development. Anonymous visitors can complete a recommendation and reopen/share the stable result URL. Account-scoped history and durable movie memory require sign-in. Result feedback is shown only when the fetched record sets viewerCanRate; a shared viewer does not inherit the owner's rating permission. Evidence: persistence projection, movie-memory API, auth/recommendation e2e.

Shipped same-device mode versus planned rooms

Shipped in development. Duo and Group share one device and answer sequentially. The persisted request contains an array of participant answers.

Planned. Room persistence, invite links, independent participant sessions, readiness state, QR invites, and projector/Kahoot-like presentation are tracked under issue #359 and child issues #467#470. They must not be described as current group behavior.

On this page