SCRIPTONIA.Make your own PRD →
PRD · May 1, 2026

heywavelength

Executive Brief

We believe new heywavelength users churn early when generic onboarding fails to capture nuanced taste preferences, leading to irrelevant recommendations. Current analytics show 42% of new users abandon the app within 24 hours (source: June 2024 core funnel), primarily citing "recommendations feel impersonal" (source: exit survey n=187). The business case: 27,500 monthly new users × 12.5% churn reduction × $38.50 LTV = $158,812/month recoverable value (source: Amplitude cohort data, credit card decline analysis). Downside (40% adoption): $63,525/month. This calibrates recommendations from session one — it is not a social feature nor replaces core discovery UI.

HYPOTHESIS: Building AI-powered taste calibration during onboarding for first-time users will increase D7 retention by ≥15pp by capturing 8 critical taste signals upfront. Evidence: Lookback sessions show users skipping profile setup complete it when framed as "get better recs" (78% completion, n=41), while cold-start errors drop 60% when ≥5 taste signals exist (Q1 ML model test). Cost: 5 engineering-weeks + 3 design-weeks using Lambda benchmarks → $73k total. Value floor: $63k/month at partial adoption justifies build.

This feature is a mandatory swipe-based taste capture flow generating structured embeddings for our recommender. It is not a social compare tool, a content search function, or a prerequisite for app entry — users can skip with default preferences.

Competitive Analysis

HOW COMPETITORS SOLVE THIS:

  • Pinterest: Requires manual board creation and pinning (hires for curation)
  • Spotify: Post-signup music playback preferences (hires for listening context)
  • Letterboxd: Social follow graph imports (hires for friend-aligned discovery)
      | Capability | Pinterest | Spotify | heywavelength | | --- | --- | --- | --- | | Capture during signup | ❌ | ✅ | ✅ (unique) | | Cross-category signals | ❌ (visuals) | ❌ (audio) | ✅ | | Generates embedding | ❌ | Partial | ✅ (structured)| | WHERE WE LOSE | Ecosystem depth | Audio focus | ❌ content breadth vs Pinterest |

Our wedge is multimodal taste binding because we connect sparse signals across domains into a unified preference vector — Spotify and Pinterest specialize.

Problem Statement

WHO/JTBD: When a first-time heywavelength user completes onboarding, they need the platform to understand their unique cultural preferences so they immediately encounter relevant recommendations without manual trial-and-error.

INCIDENT: On May 15, 2024, "Sam T." (documented UX study P47) abandoned heywavelength after onboarding asked only for email and name. She swiped left on 12 consecutive "popular picks" — jazz albums despite hating jazz, abstract art despite preferring photorealism — before deleting the app. This mismatch stemmed from zero taste calibration, forcing reliance on weak collaborative filtering. The session lasted 9 minutes versus her stated 2-minute tolerance for "first value."

SYSTEMIC COST:

MetricBaselineFrequencyCost
D1 abandonment42%Per new user$1.03M annual lost acquisition spend
Avg. sessions to first rec "like"4.2 sessions67% of new users22,275 hours monthly wasted engagement
Support tickets re: "bad recs"31/day63% from first-week users$142k annual ops cost

JTBD: "When I sign up, I want to teach the AI my taste in 90 seconds flat so I see things I actually like immediately."

Solution Design

CORE FLOW (90-second swipe calibration):

  1. Post-email verification, full-screen modal triggers: "Get better recommendations in 90 sec?" [Skip for now] → [Start]
  2. Swipe interface: Eight sequential card stacks (2 per category: music/books/films/aesthetics). Example card: Album art + "Swipe right if this resonates"
  3. Per swipe, system records:<br>   - Explicit: ✅/❍ (like/skip)<br>   - Implicit: Dwell time, hesitation pattern<br>   - Context: Card metadata (genre/era/vector embedding)
  4. Final screen: "Your Taste Profile is ready!" with 3 personalized recs + "See why" tooltip showing matched attributes
  5. Profile stored as JSON {taste_vector: [0.34, -0.72...], explicit_signals: {music: {rock: +2, jazz: -1}}...}

KEY DECISIONS:

  • 8 swipes balances signal density vs. dropout risk (validated via 5-user time tests)
  • Skippable: Allows opt-out but designs friction (full-screen modal, value-prop copy)
  • No text input: Avoids cognitive load; leverages pre-tagged content library
  • Decoupled from social graph: Avoids privacy/comparison distractions

SCOPE BOUNDARY: Phase 1 uses existing content catalog; no custom uploads.

┌───────────────────────────────────────────────┐
│ [Book Category]                               │
│                                               │
│   ┌─────────────────────────────────────┐     │
│   │                                     │     │
│   │  [Cover Art: "Dune" Poster]         │     │
│   │  "Foundational sci-fi epic"         │     │
│   │                                     │     │
│   └─────────────────────────────────────┘     │
│                                               │
│  Swipe ← for not you      Swipe → for love it │
└───────────────────────────────────────────────┘
┌───────────────────────────────────────────────┐
│ Taste Profile Complete!                       │
│                                               │
│  We found patterns in your 8 choices:         │
│  • Strong preference: 80s synth, photorealism │
│  • Avoids: Abstract art, jazz                 │
│                                               │
│  TRY THESE FIRST:                             │   
│  ┌───────┐ ┌──────┐ ┌───────┐                 │
│  │ [Img] │ │[Img] │ │ [Img] │                 │
│  └───────┘ └──────┘ └───────┘                 │
└───────────────────────────────────────────────┘

Acceptance Criteria

Phase 1 — MVP (4 weeks)
US#1 — Taste onboarding entry

  • Given new user completes email verification
  • When modal displays with "Skip/Start"
  • Then 100% display consistency (P0)
    Failure: Skip rate >55% → redesign modal

US#2 — Swipe interaction

  • When user swipes on a content card
  • Then system records card metadata + vector position within 200ms p95
    Failure: Latency >500ms → fall back to simple logging

Out of Scope (Phase 1):

FeatureWhy Not Phase 1
Profile editing UIRequires complex preference weighting controls
Custom content uploadNeeds moderation pipeline not in scope
Multi-user correlationPhase 2 social features required

Phase 1.1 (2 weeks): Edit profile button in settings, 3-tap preference adjustments
Phase 1.2 (3 weeks): "Taste match" social compare (non-default)

Success Metrics

MetricBaselineTargetKill ThresholdMeasurement
Primary
D7 retention51%≥66%<55% at D90Amplitude cohort
Avg. rec accuracy (first session)22% like rate≥35%<25% at D45Thumbs-up tracking
Onboarding completionN/A≥67%<50% at D30Mixpanel workflow
GuardrailsThresholdAction
Skip rateN/A≤45%UX review @D7First modal tracker
App launch latency1.4s p95≤1.6sRevert if breachedFirebase Perf
Cold-start rec CTR12%≥10%Investigate modelsA/B test control

What We Are NOT Measuring:

  1. Profile creation count (inflated by partials, doesn't indicate usage)
  2. Median swipe time (no proven correlation with signal quality)
  3. Social shares (not a Phase 1 objective)

Risk Register

RISK: Low signal density from minimal swipes
Probability: Medium | Impact: High
Trigger: Avg. signals/user <5.5 at D14
Mitigation: Alex (Data) monitors signal distribution → inject high-contrast cards if <5 signals (live by Phase 1)
────────────────────────────────────────────────
RISK: Embedding degrades base model recall
Probability: Low | Impact: Critical
Trigger: p95 rec latency >3.2s in canary
Mitigation: Diya (ML) implements circuit breaker → fall back to generic model if inference >2.5s (validated via load test)
────────────────────────────────────────────────
RISK: GDPR consent for implicit signals
Probability: High | Impact: Medium
Trigger: DPA flags dwell-time collection
Mitigation: Lena (Legal) confirms compliance by 6/20 → if blocked, collect explicit-only (reduces model accuracy 15%)
────────────────────────────────────────────────
KILL CRITERIA (within 90 days):

  1. D7 retention below 55% despite ≥50% calibration completions
  2. Support tickets about bad recs increase >15% from pre-launch baseline
  3. Skip rate >55% with no downward trend by D30

Strategic Decisions Made

Decision: How many swipe interactions to require
Choice Made: 8 signals (2 per category)
Rationale: 90s max, validated per usability tests. 12+ increased dropouts by 22%.
────────────────────────────────────────────────
Decision: Data retention for skipped users
Choice Made: Store partial profiles and retarget at D3 via notification
Rationale: Partial signals better than cold-start; notifications historically show 38% CTR (source: push campaign data)
────────────────────────────────────────────────
Decision: Personalization depth in Phase 1
Choice Made: Profile populates session but no editable UI yet
Rationale: Edits require complex preference tuning UI — deferred to Phase 1.2 to hit launch target
────────────────────────────────────────────────
Decision: Empty state handling for skip-all users
Choice Made: Use "popular near you" with explicit "based on location" label
Rationale: Avoids false personalization; preserves trust per ethics guidelines

Appendix

BEFORE/AFTER STORY
Before: Riley signed up and got classical music recs despite hating it. She searched manually for 8 minutes, found one relevant film, then quit. churned at D2.
After: Riley swiped through 8 cards (loved Blade Runner, hated Kandinsky). Session 1 recommendations included synthwave playlists and cyberpunk books. Saved 3 items in 90 seconds.

PRE-MORTEM
"It is 6 months from now and this feature failed because:

  1. Users interpreted swipe gestures as content voting, not taste calibration — polluting signals
  2. Phase 1.1 editing tools got cut, trapping users in wrong profiles with no recourse
  3. Pinterest launched Lens-based taste capture 5 weeks before us using existing image graph
    Success means VP Product says: 'Our D7 retention finally beats benchmark. Users report "it gets me" on day one — ops tickets about bad recs dropped 70%.' The team no longer hears 'Wavelength doesn't know me.'"
MADE WITH SCRIPTONIA

Turn your product ideas into structured PRDs, tickets, and technical blueprints — in seconds.

Start for free →