Recording and Sharing Model

  • **Help page (future link):** `[HELP_SITE_URL]/how-it-works`
    
    ## The Core Idea
    Onda Replay separates two things that most tools conflate:
    1. **The recording** — audio and transcript. These are content. They belong to the creator.
    2. **The annotations** — phrases, tags, markers. These are personal. They belong to the listener.
    
    The `.onda` bundle delivers the content. Each listener builds their own annotations.
    User Roles
    
    User A — The Producer (Professor, Presenter, Host)
    - Records the session in Onda Replay
    - Transcribes once (~$0.006/min via Whisper — roughly **$30/semester** for daily lectures, or **free** with more manual effort)
    - Labels the recording and adds notes
    - Shares the `.onda` bundle: **audio + transcript + metadata**
    - Done. Their work is complete.
    
    User B — The Active Listener (Student who attended)
    - Was present during the recording
    - Taps **|> Mark this moment** during the live session whenever something important is said
    - After the session, transcribes their own copy — markers become anchor points for Whisper phrase generation
    - Phrases appear in their **Phrases drawer** as a personal study index
    - Can share their own `.onda` bundle — **without** their markers or phrases (by design)
    
     User C — The Remote Listener (Student who did not attend)
    - Receives the `.onda` bundle from User A or B
    - Imports it — gets audio + transcript immediately, no transcription cost
    - Two paths to build their own annotations:
      - **Listen path:** Play recording in Listening Room → tap **|> Mark this moment** at key moments → transcribe to generate phrases
      - **Read path:** Open transcript → listen while reading → long-press key phrases → add to Phrases drawer manually
    - Their phrases reflect *their* understanding — which may differ entirely from User B's
    
    ## What Travels in the .onda Bundle — and What Doesn't
    
    | Item | In `.onda` bundle? | Why |
    | Audio file | ✓ Yes | It's the content |
    | Transcript text | ✓ Yes (if transcribed) | It's the content |
    | Label & notes | ✓ Yes | Metadata about the recording |
    | Recording timestamp | ✓ Yes | Provenance |
    | Tap markers | ✗ No | Personal annotation |
    | Phrases | ✗ No | Personal annotation |
    | Tags | ✗ No | Personal annotation |
    
    Phrases are not prescribable.
  • What matters to one listener may be irrelevant to another. The bundle is a delivery format, not a collaboration format.
    
    The Productive Friction Principle
    
    The manual path (read transcript → highlight → add phrases) requires more effort than the automated path (mark during recording → transcribe → phrases auto-generated).
    
    That friction is intentional. The cognitive work of selecting what matters *is the learning*. Passive annotation is not the goal.
    
    Cost Model
    
    | Scenario | Transcription cost | Who pays |
    |---|---|---|
    | Professor transcribes, shares with 30 students | Once | Professor (or department) |
    | Each student transcribes independently | 30× | Each student |
    | Student imports bundle with transcript already included | Zero | None |
    
    The professor-pays model reframes Onda Replay as an institutional tool rather than a per-user subscription. One person bears the cost; everyone benefits.
    
    ## Design Decisions Captured Here
    
    - `.onda` bundle intentionally excludes personal annotations — this is not a defect
    - Phrases drawer is always owned by the individual listener
    - Transcription is a one-time cost per recording, not per listener
    - The Listening Room "Mark this moment" button is most useful *before* transcription exists; the text-highlight path is most useful *after*
    - The air gap between app and AI is deliberate — transcript leaves the app, user interacts with AI externally, phrases come back via manual entry
    
    ---
    
    *Draft — last reviewed 2026-03-13*
    *Help page link: placeholder — update when `[HELP_SITE_URL]` is confirmed*