Moonjar
Coming to the App Store
Moonjar · Production Demos — every clip to record Internal · do not link

Shot list

Demos.

A frame for every screen, every tool, every settings option. Edit site/data/clips.yaml to add, rename, or mark complete.


Section 01

Capture

Six surfaces, one inbox. Show the friction collapsing to nothing.

1/8 final
  1. 01.01

    Text capture

    Type a quick thought in the capture sheet; show it landing in the timeline with a freshly-extracted summary.

    Seed
    none — type live during the take. Fresh material lets the AI summary appear on camera.
    Shots
    1. Open Capture tab from the bottom bar.
    2. Type: 'Reading list — add Working in Public by Nadia Eghbal, recommended by Lina.'
    3. Tap Save.
    4. Cut to Documents tab; new entry sits at the top of the list.
    5. Hold long enough to show the AI-extracted summary line under the title.

    final

  2. 01.02 iPhone 12s

    URL capture

    Paste a long article URL. Show article extraction completing and fields populating (author, source, reading time).

    Seed
    none — paste a real URL during the take. Suggested: a Stratechery / Wired / Verge article you don't already have saved.
    Shots
    1. Open Capture → URL field.
    2. Paste an article URL.
    3. Hold on the 'extracting…' progress state for ~1s.
    4. Cut to the resulting document open: title, author, source, reading time, topics all populated.

    todo

  3. 01.03 iPhone 10s

    Photo capture

    Snap a whiteboard or receipt. Show OCR + classification deciding the type.

    Seed
    none — take a fresh photo. A handwritten shopping list or a printed receipt on a desk both work; the OCR + type classification need to be live.
    Shots
    1. Open Capture → camera icon.
    2. Snap a printed receipt or handwritten note.
    3. Hold on classification ('Retail Receipt' or 'Note') landing.
    4. Cut on the structured fields panel populated.

    todo

  4. 01.04 iPad 12s

    PDF capture

    Drop a PDF (e.g. Q4 board deck). Show parser progress and the resulting structured fields.

    Seed
    A pre-seeded "Q4 board pack — Moonjar" already lives in the demo account
    (Documents → 'Q4 board pack — Moonjar') with an attached PDF. For the
    recording, capture a NEW PDF live (download a sample one to Files first)
    so the parsing/extraction animates on screen — the seeded one is your
    backup if the live one fails.
    
    Shots
    1. Open Files app, drag a PDF into Moonjar (or share-sheet → Moonjar).
    2. Hold on the parser progress state.
    3. Cut to the resulting document with extracted summary + key fields.

    todo

  5. 01.05 Mail + iPhone 14s

    Email capture

    Forward an email to save@in.moonjar.io. Cut to the inbox showing it appeared with the attachment merged.

    Seed
    The demo account already has 3 forwarded emails (Apple Developer
    renewal, Lina's Q3 board pack with PDF attachment, Hannah's lease
    renewal options with PDF attachment). The sender address
    jay@jaymccormack.com is registered for email capture.
    For the recording, send a NEW email live so it lands on camera.
    
    Shots
    1. Open Mail. Compose to save@in.moonjar.io with a short body and an attached PDF.
    2. Tap Send.
    3. Cut to Moonjar Documents tab. Pull-to-refresh.
    4. New email sits at the top with the attachment chip beneath.

    todo

  6. 01.06 iPhone 8s

    Voice capture (phone)

    Hold-to-talk dictation; show transcription landing with punctuation.

    Seed
    none — dictate live. Suggested: 'Reminder to follow up with Marcus on the privacy policy redline next week.'
    Shots
    1. Open Capture → mic button.
    2. Hold and speak the line above.
    3. Release.
    4. Hold on the transcription rendering with punctuation.
    5. Cut on the resulting document title preview.

    todo

  7. 01.07 Watch + iPhone 10s

    Voice capture (Watch)

    Single-tap dictation on Apple Watch; show the confirmation glance and the entry on iPhone.

    Seed
    none — dictate live from the watch. Suggested: 'Pick up dry cleaning on the way home.'
    Shots
    1. Raise wrist; open Moonjar Watch app.
    2. Tap the mic; speak the line above.
    3. Hold on watch confirmation glance.
    4. Cut to iPhone Documents tab; the entry has landed.

    todo

  8. 01.08 iPhone 10s

    Share-sheet save

    From Safari → Share → Moonjar. Show the share extension UI and the resulting document.

    Seed
    none — share a real Safari page live. Suggested: a recipe page or a long-read article.
    Shots
    1. Safari → share button.
    2. Tap Moonjar in the share sheet.
    3. Hold on the share-extension confirmation.
    4. Open Moonjar; show the new entry at the top of Documents.

    todo


Section 02

Documents — types

One per extraction template. Each shows the auto-classified type and the right fields appearing.

0/11 final
  1. 02.01 8s

    Article

    Open an extracted article: title, author, source, summary, reading time, topics.

    Seed
    Eight articles seeded. Recommended pick:
    'The case for small, opinionated tools' (Anil Patel, The Margins, 6 min read).
    Backups: 'Attention sinks and the geometry of long context' (Helena Brun);
    'Calm offices, busy hands' (Mira Tan).
    
    Shots
    1. Documents tab → search 'opinionated tools' (or scroll to the article).
    2. Tap to open.
    3. Hold on the extracted-fields panel: author, source, reading time, topics.
    4. Cut on the topics chips visible.

    seeded

  2. 02.02 10s

    Receipt

    Open a receipt: total, merchant, category, tax. Show the structured-search filter ("receipts > $100").

    Seed
    Six receipts seeded:
      - Bunnings $187.40 (08/04, hardware)
      - Officeworks $179.90 (23/04, office)
      - Crown Hotel Sydney $612.00 (06/04, travel)
      - Apple Store Chadstone $128.00 (20/04, tech)
      - Coles $94.24 (18/04, groceries)
      - Industry Beans $40.00 (11/04, cafe)
    Receipts ≥ $100 → 5 of the 6 (Industry Beans is the cut-off).
    
    Shots
    1. Documents → filter chip 'Retail Receipt'.
    2. Tap the Bunnings row ($187.40).
    3. Hold ~2s on structured fields: total, merchant, tax, category.
    4. Back → search bar → type 'receipts > 100' → 5 results render.
    5. Cut on the filtered list.

    seeded

  3. 02.03 8s

    Contact

    Open an extracted contact card: name, role, email, company, links.

    Seed
    Five contacts seeded (tag=contact):
      - Sarah Whitfield (designer, Foundry Studio)
      - Tom Reilly (plumber, Reilly + Sons)
      - Dr. Anna Chen (GP, Bridge Road Medical)
      - Marcus Lin (partner, Hartwell + Lin)
      - Priya Shah (accountant, Ledger Co.)
    Recommended pick: Sarah Whitfield — has the richest fields.
    
    Shots
    1. Documents → search 'Sarah Whitfield'.
    2. Tap to open.
    3. Hold on the contact-shaped fields: name, role, company, email, phone, city.
    4. Cut on the email/phone row.

    seeded

  4. 02.04 8s

    Recipe

    Open a recipe: ingredients list, method, yield, source URL.

    Seed
    Four recipes seeded (tag=recipe):
      - Miso-glazed eggplant (25 min, 2 servings)
      - Slow-roast Sunday lamb shoulder (5 hr, 6 servings)
      - Chocolate olive oil cake (55 min, 8 servings)
      - Weeknight chicken curry (30 min, 4 servings)
    Recommended pick: Miso-glazed eggplant — short and visually clean.
    
    Shots
    1. Documents → search 'miso eggplant'.
    2. Tap to open.
    3. Scroll: ingredients list, then method.
    4. Hold on yield + time fields visible.
    5. Cut at the bottom of the recipe.

    seeded

  5. 02.05 10s

    Contract

    Open a contract: parties, dates, term, key clauses surfaced.

    Seed
    Two contracts seeded (Legal Document, both have attached PDF):
      - Lease — 14 Wellington Pde East (term ends 2026-09-14, bond $4,800)
      - Mutual NDA — Foundry Studio (term ends 2029-03-22)
    Recommended pick: the Lease — more populated fields, expiry is in scope.
    
    Shots
    1. Documents → filter 'Legal Document'.
    2. Tap the Wellington Pde lease row.
    3. Show parties, dates, term, bond fields.
    4. Tap the PDF attachment → it opens inline.
    5. Cut on the PDF first-page header.

    seeded

  6. 02.06 8s

    Photo

    Open a photo: extracted text (OCR), objects detected, location if available.

    Seed
    Three photos seeded (type=image):
      - Whiteboard — Q2 planning (East Melbourne, OCR populated)
      - Receipt photo — Crown Hotel folio (Sydney)
      - Photo — Brooks Ghost 17 outside Lululemon (Chadstone)
    Recommended pick: Whiteboard — Q2 planning. Best OCR text.
    
    Shots
    1. Documents → filter 'image'.
    2. Tap the Q2 planning whiteboard.
    3. Show the OCR-extracted text panel.
    4. Show the small location row (East Melbourne).
    5. Cut on the OCR text scrolling.

    seeded

  7. 02.07 8s

    Transcript

    Open a meeting transcript: speakers, action items, summary.

    Seed
    One transcript seeded:
    'Q2 founders' summit, Sydney' (5 April 2026). Speakers: Jay, Lina,
    Daniel, Mira. Action items extracted into fields.
    
    Shots
    1. Documents → search 'founders summit'.
    2. Tap to open.
    3. Show date + attendees fields.
    4. Scroll to the action items field.
    5. Cut on the action items visible.

    seeded

  8. 02.08 6s

    Note / text

    Open a free-form note. Show the chat-side annotation panel.

    Seed
    Six notes seeded (loose tag=note):
      - 'Idea: second brain as memory prosthesis' (best for the demo — quotable)
      - 'Open question: AI cost when active users hit 1k'
      - 'Reading list — Q2 backlog'
      - 'Watch development log — keychain groups'
      - 'Anniversary: 14 February'
      - 'Coffee preference'
    
    Shots
    1. Documents → search 'memory prosthesis'.
    2. Tap to open.
    3. Show the body text rendered.
    4. Tap chat-side annotation icon.
    5. Cut on the annotation drawer opening.

    seeded

  9. 02.09 6s

    Email

    Open a captured email: sender, subject, body, attachment.

    Seed
    Three forwarded emails seeded, each with a PDF attachment:
      - Apple Developer renewal (apple-developer-renewal-invoice.pdf)
      - Lina Petrov, 'Q3 board pack' (quaver-q3-board-pack.pdf)
      - Hannah Bell, 'Lease renewal options' (lease-renewal-options.pdf)
    Recommended pick: Lina's Q3 board pack — longest attachment, board content.
    
    Shots
    1. Documents → search 'board pack'.
    2. Tap Lina's email.
    3. Show sender + subject + body.
    4. Tap the attachment chip → PDF opens.
    5. Cut on PDF header.

    seeded

  10. 02.10 6s

    Bookmark

    Open a URL-only bookmark with no body fetched.

    Seed
    Four bookmarks seeded (tag=bookmark, source_url only):
      - Anthropic — Building Effective Agents
      - App Store Connect — review guidelines
      - RTBA — Bond return process (Consumer Affairs Vic)
      - Hugo — content organisation
    Recommended pick: Anthropic 'Building Effective Agents' — cleanest URL.
    
    Shots
    1. Documents → search 'effective agents'.
    2. Tap to open.
    3. Show URL + saved date + tags.
    4. Cut on the source URL link rendered.

    seeded

  11. 02.11 8s

    Voice memo

    Open a voice capture: original audio + transcript side by side.

    Seed
    Two voice memos seeded (tag=voice):
      - 'Voice memo — feature flag idea' (38s)
      - 'Voice memo — call notes with Marcus' (4m 12s)
    Note: the seeded entries store the transcript only. For the recording
    you may want to capture a fresh voice memo so the audio bar is real.
    
    Shots
    1. Documents → search 'feature flag idea'.
    2. Tap to open.
    3. Show audio waveform / play button (from a fresh capture, ideally).
    4. Show transcript panel beside it.
    5. Cut on transcript visible.

    seeded


Section 03

Tabs — overview

One pass through each main screen. Used for app-store stills and intro reels.

0/11 final
  1. 03.01 12s

    Chat

    The chat tab. Scroll through a conversation with citations and tool calls.

    Seed
    Run a fresh chat that exercises tool use first (e.g. 'Find my Bunnings receipt and show recent saved articles'). Citations land against seeded docs.
    Shots
    1. Open Chat tab.
    2. Scroll up through a conversation that has citation chips + a tool-call card.
    3. Cut on a citation chip visible.

    todo

  2. 03.02 10s

    Capture

    The capture sheet. Tap each input mode.

    Seed
    none — UI tour. Demo account is logged in; tabs are populated.
    Shots
    1. Open Capture tab.
    2. Tap each input mode: text, URL, photo, mic, share-instructions, files.
    3. Cut on the mode chips visible.

    seeded

  3. 03.03 12s

    Documents

    The documents library. Sort, filter, drill into a doc.

    Seed
    52 docs total in the seeded account (45 captured + 7 daily notes).
    5 distinct document_types visible: Miscellaneous, Retail Receipt,
    Legal Document, image, daily_note.
    
    Shots
    1. Open Documents tab.
    2. Tap sort → 'Recent'.
    3. Tap filter → 'Retail Receipt' → list re-filters.
    4. Tap into the Bunnings receipt.
    5. Cut on the document detail.

    seeded

  4. 03.04 10s

    Collections

    The collections list. Open a collection; show table view.

    Seed
    Three collections seeded:
      - Authors (6 rows)
      - Books I've read (10 rows, references Authors)
      - Travel — places visited (8 rows, all geo-tagged)
    Recommended pick for the table view: 'Books I've read' (most rows + reference field).
    
    Shots
    1. Open Collections tab.
    2. Show the three collection cards.
    3. Tap 'Books I've read'.
    4. Hold on table view: title, author (linked), rating, theme, month.
    5. Cut on the table.

    seeded

  5. 03.05 10s

    Lists / Reminders

    The reminders list. Mark one done; show the iOS Reminders sync.

    Seed
    One list 'Today' with 4 items seeded:
      - 'Reply to Hannah re: lease renewal' (today, 17:00)
      - 'Send redline to Marcus' (+2 days, 16:00)
      - 'Renew Apple Developer membership' (+7 days)
      - 'Drop off dry cleaning' (-2 days, completed) ✓
    
    Shots
    1. Open Lists tab.
    2. Tap into 'Today' list.
    3. Tick 'Send redline to Marcus' done.
    4. Cut to iOS Reminders app showing the same item ticked.

    seeded

  6. 03.06 8s

    Today / Daily notes

    Today view. Append a journal entry.

    Seed
    7 daily notes seeded covering -6 days to today. Today's note is empty
    (so the 'append entry' demo has fresh content to write).
    
    Shots
    1. Open Today tab.
    2. Tap into today (empty).
    3. Type one line: 'Recorded the demo videos this morning.'
    4. Tap save.
    5. Cut on the timestamp + body visible.

    seeded

  7. 03.07 10s

    Atlas

    Atlas / map view of geo-located captures.

    Seed
    14 geo-tagged documents + 8 geo-tagged Travel collection rows.
    Tight cluster around inner-east Melbourne (Burnley/Richmond/Fitzroy/
    East Melb/Chadstone), one Sydney pin, and 8 international/domestic
    travel pins (Tokyo, Lisbon, Queenstown, Hobart, Singapore, London,
    Auckland, Sydney).
    
    Shots
    1. Open Atlas tab.
    2. Hold on the world view — pins scattered.
    3. Pinch to zoom into Melbourne — cluster opens to multiple pins.
    4. Tap a pin → preview card with the document title.
    5. Cut on the preview.

    seeded

  8. 03.08 12s

    Brain

    Brain visualisation — the entity graph.

    Seed
    Entities seeded across documents, contacts, collections, and memories
    should auto-graph relationships (Marcus Lin appears in a contact, an
    email mention, and a voice memo; Sarah Whitfield in a contact + the
    NDA contract). If the visualisation is sparse, capture a couple of
    live items first so node density looks alive.
    
    Shots
    1. Open Brain tab.
    2. Wait for the graph to settle.
    3. Tap a heavily-connected node (e.g. 'Marcus Lin' or 'Sarah Whitfield').
    4. Show the side panel of related entities.
    5. Cut on the connections lit up.

    seeded

  9. 03.09 10s

    Automations

    Automations list; show a scheduled scanner running.

    Seed
    Automations aren't pre-seeded — set one up live during the take (e.g. 'every Monday morning summarise last week's documents'). The point of the clip is the create-flow + the next-run timestamp.
    Shots
    1. Open Automations tab.
    2. Tap + → name automation → cadence: weekly Monday 8am → action: 'summarise last week's documents'.
    3. Save → it appears in the list with 'next run' timestamp.
    4. Cut on the next-run row.

    todo

  10. 03.10 10s

    Memories

    Memories list; show one being extracted from chat.

    Seed
    Six memories pre-seeded:
      - Based in Melbourne (geo-tagged East Melbourne)
      - Coffee preference (long black, oat milk on side)
      - Wedding anniversary (14 February)
      - Has a dog (geo-tagged Wellington Pde)
      - Runs a one-person company
      - Prefers async over calls
    For the 'extracted-from-chat' moment, capture it live by mentioning a
    new fact in chat ('My birthday is 12 August' or similar).
    
    Shots
    1. Open Memories tab — list visible.
    2. Cut to chat: type 'My birthday is 12 August.'
    3. Send.
    4. Cut back to Memories tab — new memory at the top.

    seeded

  11. 03.11 6s

    More

    More menu. Surfaces secondary features (settings, account).

    Seed
    none — UI tour.
    Shots
    1. Open More tab.
    2. Hold on the section list (Settings, Account, Privacy, Export, Email senders, Theme).
    3. Cut on the menu visible.

    seeded



Section 05

Chat — flows

The assistant has done the reading.

0/6 final
  1. 05.01 14s

    Text Q with citations

    Ask about a saved document; show citations at end and tap to open the source.

    Seed
    Suggested prompts (all hit seeded docs):
      - 'What did I save about long-context attention?'
      - 'Summarise what's in my Q3 board pack'
      - 'What's in my Bunnings receipt and why did I buy it?'
    
    Shots
    1. Open Chat tab.
    2. Type: 'Summarise what's in my Q3 board pack.'
    3. Send. Wait for response with citation chips.
    4. Tap a citation chip → source opens in a side panel.
    5. Cut on the side panel showing the document.

    seeded

  2. 05.02 14s

    Voice Q

    Hold-to-talk question; show transcription, then assistant response, then read-aloud playback.

    Seed
    Try voicing: 'What's the deadline on my lease renewal email?'
    (Hannah's email is seeded with deadline 2026-05-15.)
    
    Shots
    1. Chat tab → mic button.
    2. Hold and ask the question.
    3. Release; transcription appears.
    4. Response renders with citation.
    5. Tap speaker icon to hear it read aloud.
    6. Cut on the read-aloud waveform.

    seeded

  3. 05.03 18s

    Multi-turn

    A 3-turn conversation that builds on context (memory) across turns.

    Seed
    Multi-turn flow that compounds:
      T1: 'What contracts are expiring this year?'  → seeded lease (2026-09-14)
      T2: 'Remind me 30 days before that.'           → reminder created
      T3: 'And email Hannah to confirm the renewal.' → drafts a reply
    
    Shots
    1. Chat tab → type T1.
    2. Response cites the lease.
    3. Type T2.
    4. Response confirms reminder created.
    5. Type T3.
    6. Response drafts the email.
    7. Cut on the drafted email.

    seeded

  4. 05.04 14s

    Memory recall

    Mention a personal fact in turn 1; ask a follow-up in turn 3 that requires it.

    Seed
    Existing memories already let you do:
      T1: 'Plan my anniversary dinner.'
      T2: '...' (assistant cites the 14 Feb anniversary memory)
      T3: 'Book it 6 weeks ahead like I always do.'
    (The memory says 'always book 6+ weeks ahead'.)
    
    Shots
    1. Chat tab → type T1.
    2. Response cites the anniversary memory.
    3. Type T3 (skip the obvious T2 if needed).
    4. Cut on the response showing the memory citation chip.

    seeded

  5. 05.05 8s

    Citation expand

    Tap a citation chip; show the source document side panel.

    Seed
    Use any prompt from 05.01 — citations are seeded across articles, the lease, the Q3 board pack, and the transcript.
    Shots
    1. Chat tab → existing or fresh response with citation chips.
    2. Tap one chip.
    3. Hold on the side panel rendering the source document with the matched span highlighted.
    4. Cut on the highlight.

    seeded

  6. 05.06 6s

    Reply chips

    Show suggested reply chips appearing and tapping one.

    Seed
    Reply chips are generated by the model after a response — best captured live. Suggested prompt: 'What did I miss this week?' → chips often include 'Show me yesterday's notes' or 'Set a reminder for that'.
    Shots
    1. Chat tab → ask a question.
    2. Wait for response.
    3. Reply chips fade in below.
    4. Tap one.
    5. Cut on the new turn starting.

    todo


Section 06

Chat tools — actions

Each tool the assistant can call. One short demo per tool.

0/25 final
  1. 06.01 8s

    search_documents

    Assistant runs a search and shows results inline as a tool result card.

    Seed
    Prompt: 'Find me everything about Apple's review process.' Hits the App Store guidelines bookmark + watch dev log + voice memo with Marcus.
    Shots
    1. Chat → type prompt.
    2. Hold on the search-tool card with 3+ results.
    3. Cut on the results card.

    seeded

  2. 06.02 10s

    save_url

    "Save this article: " — assistant fetches and stores it.

    Seed
    none — pass a fresh URL live. Suggested: a short blog post you don't already have.
    Shots
    1. Chat → 'Save this article: .'
    2. Hold on the save-tool card showing fetch in progress.
    3. Cut to confirmation + the document appearing in Documents.

    todo

  3. 06.03 6s

    get_weather

    Ask about the weather; show a weather card.

    Seed
    none — live API call. Suggested: 'What's the weather in Melbourne right now?' (uses the home memory).
    Shots
    1. Chat → ask the weather question.
    2. Hold on the weather card with temp + conditions + location.
    3. Cut on the card.

    todo

  4. 06.04 10s

    web_search

    Ask a question requiring fresh info; show web search card with sources.

    Seed
    none — live API call. Suggested: 'What's the latest on Apple's new App Review guidelines?'
    Shots
    1. Chat → ask the question.
    2. Hold on the web-search card with sources.
    3. Cut on the source list.

    todo

  5. 06.05 18s

    deep_research

    Ask a multi-step research question; show the research progress UI.

    Seed
    none — live API call. Suggested: 'Compare the App Store and Play Store rules on third-party AI data sharing in 2026.'
    Shots
    1. Chat → ask the deep question.
    2. Hold on the multi-step progress UI (sources scanned, sub-questions).
    3. Cut on the final summary panel.

    todo

  6. 06.06 8s

    nearby_places

    "Find a coffee shop near me"; show the places card.

    Seed
    none — live API call. Use the East Melbourne home memory implicitly.
    Shots
    1. Chat → 'Find a good coffee shop near me.'
    2. Hold on the places card with 3-5 results + map mini.
    3. Cut on the card.

    todo

  7. 06.07 10s

    get_route

    "How do I get to

    ?"; show the route card with steps.

    Seed
    Suggested: 'Get me from East Melbourne to Industry Beans Fitzroy' (both are seeded locations) — keeps the route believable and short.
    Shots
    1. Chat → ask the route.
    2. Hold on the route card with map + step list + ETA.
    3. Cut on the steps.

    todo

  8. 06.08 8s

    get_flight_status

    Ask about a flight; show the live flight card.

    Seed
    none — live AirLabs API call. Pick a real in-air flight at recording time (QF1 LHR→SYD or similar). Confirm the flight number is currently airborne so the card has data to render.
    Shots
    1. Chat → 'What's the status of QF1 right now?'
    2. Hold on the flight card with airline + route + ETA.
    3. Cut on the card.

    todo

  9. 06.09 12s

    search_flights

    "Find flights MEL→SYD next Tue"; show flight search results card.

    Seed
    none — live API call. Use a route the user might plausibly take given the seeded Sydney summit.
    Shots
    1. Chat → 'Find flights MEL to SYD next Tuesday.'
    2. Hold on the flight-search card with multiple results.
    3. Cut on the results card.

    todo

  10. 06.10 8s

    get_news

    Ask for headlines; show the news card.

    Seed
    none — live NewsAPI call. Suggested: 'Top tech headlines today.'
    Shots
    1. Chat → 'Top tech headlines today.'
    2. Hold on the news card with 3-5 stories.
    3. Cut on the card.

    todo

  11. 06.11 10s

    search_show / trending_shows

    "What's worth watching?" — show TV cards.

    Seed
    none — live TMDB call.
    Shots
    1. Chat → 'What's trending on TV this week?'
    2. Hold on the TV card grid with posters.
    3. Cut on the grid.

    todo

  12. 06.12 6s

    search_books

    "Find a book on X"; show book card.

    Seed
    Suggested: 'Find a book about epistemology' — pairs with seeded 'Books I've read' collection (themes include epistemology).
    Shots
    1. Chat → ask the book question.
    2. Hold on the book card with cover + author + summary.
    3. Cut on the card.

    todo

  13. 06.13 12s

    generate_image

    "Make a moodboard of…"; show image generation card.

    Seed
    none — live API call. Suggested: 'Generate a moodboard for a calm Melbourne home office.' (Avoid anything sensitive that might fail moderation on camera.)
    Shots
    1. Chat → ask for the image.
    2. Hold on the generation progress.
    3. Image lands.
    4. Cut on the rendered image.

    todo

  14. 06.14 10s

    edit_image

    Edit a generated image with a follow-up prompt.

    Seed
    none — follow-on from 06.13. Suggested: 'Make it warmer / add a desk plant.'
    Shots
    1. Chat → follow-up prompt with the previous image referenced.
    2. Hold on edit progress.
    3. Edited image lands beside or replacing the original.
    4. Cut on the new image.

    todo

  15. 06.15 8s

    search_images

    Search for stock images; show grid card.

    Seed
    none — live API call. Suggested: 'Find images of brutalist architecture.'
    Shots
    1. Chat → ask the image search.
    2. Hold on the image grid card.
    3. Cut on the grid.

    todo

  16. 06.16 6s

    translate_text

    Translate a snippet; show before/after card.

    Seed
    none — live call.
    Shots
    1. Chat → 'Translate "slow down to think" into Japanese.'
    2. Hold on the before/after translation card.
    3. Cut on the card.

    todo

  17. 06.17 6s

    geocode / get_timezone

    Ask for an address coordinate or timezone; show small fact card.

    Seed
    Suggested: 'What time is it in Tokyo right now?' — Tokyo is also a seeded Travel collection row, so the question feels grounded.
    Shots
    1. Chat → ask the question.
    2. Hold on the small fact card.
    3. Cut on the card.

    todo

  18. 06.18 8s

    knowledge_graph

    Ask a Wikipedia-style fact; show knowledge graph card.

    Seed
    Suggested: 'Tell me about Carlo Rovelli.' — Rovelli is in the seeded Authors collection, so the answer ties back into the data.
    Shots
    1. Chat → ask the question.
    2. Hold on the knowledge card with photo + bio + key facts.
    3. Cut on the card.

    todo

  19. 06.19 8s

    show_calculation

    Ask the assistant to compute something; show step-by-step calc card.

    Seed
    Suggested grounded calc:
    'Across my April receipts, what's the average spend?'
    (Seeded total = $1,241.54 over 6 receipts → mean ≈ $206.92.)
    
    Shots
    1. Chat → ask the question.
    2. Hold on the step-by-step calc card with intermediate numbers.
    3. Cut on the result.

    todo

  20. 06.20 14s

    create_artifact

    "Draft a one-page brief from these docs"; show artifact rendering.

    Seed
    One artifact already seeded:
    'One-page brief: signals from saved articles, April 2026' — generated
    from the 8 seeded articles. For the demo, generate a NEW artifact live
    ('Draft a one-page brief from my receipts this month') so the streaming
    render is real, with the existing artifact as backup.
    
    Shots
    1. Chat → 'Draft a one-page brief from my April receipts.'
    2. Hold on the streaming artifact panel rendering.
    3. Cut on a rendered headline + bullet.

    seeded

  21. 06.21 10s

    create_notification

    Schedule a push from chat; show iOS notification arriving.

    Seed
    Schedule a notification 30 seconds out so it fires on camera. Suggested: 'Send me a push in 30 seconds saying "recording the demo".'
    Shots
    1. Chat → ask for the notification.
    2. Confirmation card appears.
    3. Lock the device.
    4. Hold on lock screen until the notification fires.
    5. Cut on the notification visible.

    todo

  22. 06.22 10s

    manage_reminder

    "Remind me to send the redline by Thu 5pm"; show reminder created and the iOS Reminder.

    Seed
    'Send redline to Marcus' is already in the seeded reminders list
    (+2 days, 16:00). To demo creation live: 'Remind me to call Tom the
    plumber on Friday at 10am.'
    
    Shots
    1. Chat → 'Remind me to call Tom the plumber on Friday at 10am.'
    2. Tool card confirms reminder created.
    3. Cut to Lists tab → new reminder visible.
    4. Cut to iOS Reminders → same item visible.

    seeded

  23. 06.23 12s

    generate_insights / suggest_actions

    End-of-day insights digest with suggested next steps.

    Seed
    Run live near end-of-day so the digest references seeded docs ('your lease renewal deadline is 19 days away', 'follow up with Marcus on the redline', etc.).
    Shots
    1. Chat → 'Give me my end-of-day digest.'
    2. Hold on the insights card with 3-4 items.
    3. Cut on a suggested action button.

    todo

  24. 06.24 6s

    device_ping / device_get_location

    Ask "where am I?" — assistant returns current location.

    Seed
    none — live device call. Should resolve to East Melbourne if recorded at home.
    Shots
    1. Chat → 'Where am I right now?'
    2. Hold on the location card with map mini.
    3. Cut on the card.

    todo

  25. 06.25 12s

    health_* (steps, energy, HR, sleep)

    Ask for today's stats; assistant pulls from HealthKit and returns a summary card.

    Seed
    none — live HealthKit call. Make sure HealthKit permissions are granted in the app before recording.
    Shots
    1. Chat → 'Give me today's health summary.'
    2. Hold on the health card with steps, energy, HR, sleep.
    3. Cut on the card.

    todo


Section 07

Collections

Build your own database, by talking.

0/8 final
  1. 07.01 16s

    Create via chat

    "Track every book I've finished, with author, rating, theme." Show the schema being proposed and confirmed.

    Seed
    'Books I've read' is already seeded — DON'T duplicate it. Use a
    different conceptual collection for this clip. Suggested:
    'Track every coffee I drink, with date, place, drink, rating.'
    
    Shots
    1. Chat → 'Create a collection to track every coffee I drink, with date, place, drink, rating.'
    2. Hold on the schema-proposal card.
    3. Tap Confirm.
    4. Cut to Collections tab → new collection appears at the top.

    todo

  2. 07.02 10s

    Add row via chat

    "I just finished ." Assistant adds the row and confirms.

    Seed
    Books I've read collection has 10 rows. Add an 11th live:
    'Just finished Working in Public by Nadia Eghbal — gave it 4 stars,
    theme: open source.' (Note: Nadia Eghbal isn't a seeded Author yet,
    so the demo can also show 'create new author' flow if the app
    supports it.)
    
    Shots
    1. Chat → say the line above.
    2. Hold on the add-row tool card.
    3. Cut to Collections → 'Books I've read' → new row at top.

    seeded

  3. 07.03 10s

    Add row via UI

    Tap + on a collection; fill the form; save.

    Seed
    Use the seeded Travel — places visited collection (8 rows). Add a 9th row live: 'Adelaide / Australia / 2025 / Wine country trip.'
    Shots
    1. Collections → Travel — places visited.
    2. Tap +.
    3. Fill: place=Adelaide, country=Australia, year=2025, highlight=Wine country trip.
    4. Save.
    5. Cut on the row appearing.

    seeded

  4. 07.04 12s

    Schema edit

    Add a new field via chat ("also track which month I read it"); show new column appearing.

    Seed
    Books I've read already has a month field (so don't repeat that one).
    Try this instead: 'Add a notes field to my books collection.'
    
    Shots
    1. Chat → 'Add a notes field to my books collection.'
    2. Hold on the schema-edit card.
    3. Cut to Collections → Books I've read → new column 'notes' visible.

    seeded

  5. 07.05 12s

    Cross-reference

    Two collections (books, authors). Tap an author from a book row → drill into author.

    Seed
    Books I've read references Authors. Pick a book whose author has
    multiple books in the collection — Carlo Rovelli (2 books) or Naomi
    Alderman (3 books) work well.
    
    Shots
    1. Collections → Books I've read.
    2. Tap a Naomi Alderman book → row detail.
    3. Tap her name (linked field) → jumps to Authors → Naomi Alderman row.
    4. Show the row + the back-references list of her books.
    5. Cut on the back-references.

    seeded

  6. 07.06 10s

    Query via chat

    "Show me 5-star books on epistemology"; assistant returns filtered table.

    Seed
    5-star epistemology books in seed:
      - 'Seeing Like a State' (5, theme=epistemology, politics) ✓
      - 'A Pattern Language' (5, design — semantic match for epistemology adjacent)
    Try instead: 'Show me my 5-star books.' → 4 results
    (Order of Time, Right Stuff, Seeing Like a State, A Pattern Language).
    
    Shots
    1. Chat → 'Show me my 5-star books.'
    2. Hold on the filtered-table tool card with 4 results.
    3. Cut on the table.

    seeded

  7. 07.07 12s

    Bulk add

    Paste a list; assistant adds many rows at once.

    Seed
    Use the Travel collection live — paste:
    'Add these places I've visited: Berlin (Germany, 2022, conference);
    Rome (Italy, 2023, holiday); Cape Town (South Africa, 2019, sabbatical).'
    
    Shots
    1. Chat → paste the line above.
    2. Hold on the bulk-add tool card with 3 rows being inserted.
    3. Cut to Collections → Travel → 3 new rows.

    todo

  8. 07.08 8s

    Rename / delete

    Rename a collection; delete a row with confirmation.

    Seed
    Use the Authors collection (smallest, easiest to recover from). Rename to 'Authors I'm reading' for the demo, then rename back. Delete the row 'Tom Wolfe' for the deletion clip (re-seedable).
    Shots
    1. Collections → Authors → … menu → Rename.
    2. Type new name → save.
    3. Tap a row → … → Delete → confirm dialog → Delete.
    4. Cut on the row removed.

    seeded


Section 08

Memories

Persistent context the assistant always knows.

0/5 final
  1. 08.01 10s

    Auto-extracted memory

    Mention a fact in chat; show the memory being silently extracted in the timeline.

    Seed
    Mention a NEW fact live (don't reuse the 6 seeded). Suggested: 'I'm allergic to shellfish.'
    Shots
    1. Chat → say the fact.
    2. Send.
    3. Hold on the small 'memory saved' affordance in the response.
    4. Cut to Memories tab → new memory at the top.

    todo

  2. 08.02 8s

    Manual save memory

    Long-press a chat message → "Save as memory." Show it appearing in the memories list.

    Seed
    Use any chat response that contains a sentence about you. Long-press → 'Save as memory.'
    Shots
    1. Chat → existing or fresh message.
    2. Long-press → context menu → 'Save as memory.'
    3. Toast confirms.
    4. Cut to Memories tab → new entry.

    todo

  3. 08.03 10s

    Memory list

    Open the memories tab; scroll the list; tap one to expand.

    Seed
    Six memories pre-seeded — list is well-populated. Recommended pick to
    expand: 'Has a dog' (geo-tagged, content includes the lease address).
    
    Shots
    1. Memories tab.
    2. Scroll the list.
    3. Tap 'Has a dog' to expand.
    4. Hold on the full content + location label.
    5. Cut on the expanded card.

    seeded

  4. 08.04 8s

    Edit / delete memory

    Edit a memory's text; delete one with confirmation.

    Seed
    Use a low-stakes memory — 'Coffee preference' is safe to edit-and-revert. For deletion, use 'Prefers async over calls' (re-seedable).
    Shots
    1. Memories → 'Coffee preference' → edit.
    2. Add a word → save.
    3. Back → 'Prefers async over calls' → delete → confirm.
    4. Cut on the deletion.

    seeded

  5. 08.05 12s

    Recall in conversation

    Open a fresh chat; ask a question that requires the memory; show citation to memory record.

    Seed
    Suggested fresh-chat prompt: 'When's our anniversary and how far ahead should I book?' — requires the 14 Feb anniversary memory.
    Shots
    1. Chat → start new conversation (+ button).
    2. Type the prompt above.
    3. Hold on response with memory-citation chip.
    4. Cut on the chip.

    seeded


Section 09

Reminders & Lists

Round-trips to iOS Reminders.

0/4 final
  1. 09.01 12s

    Create via chat

    "Remind me about on Friday"; show reminder appearing in the lists tab and in iOS Reminders.

    Seed
    Use a fresh reminder live: 'Remind me to renew my passport next month.'
    Shots
    1. Chat → say the line above.
    2. Tool card confirms.
    3. Cut to Lists tab → new reminder visible.
    4. Cut to iOS Reminders → same item visible.

    todo

  2. 09.02 8s

    Complete / snooze

    Mark a reminder done from the list; snooze another.

    Seed
    The 4 seeded reminders are useful here:
      - Tick 'Send redline to Marcus' done.
      - Snooze 'Renew Apple Developer membership' to next week.
    
    Shots
    1. Lists tab → Today list.
    2. Tick 'Send redline to Marcus'.
    3. Long-press 'Renew Apple Developer membership' → Snooze → next week.
    4. Cut on both updated.

    seeded

  3. 09.03 10s

    iOS Reminders sync

    Add a reminder in the iOS Reminders app; show it appearing in Moonjar.

    Seed
    Add a fresh reminder in iOS Reminders → 'Buy birthday card.' Wait for sync.
    Shots
    1. Open iOS Reminders. Add 'Buy birthday card.'
    2. Cut to Moonjar Lists tab. Pull-to-refresh.
    3. New item appears.
    4. Cut on the new item.

    todo

  4. 09.04 6s

    Push notification

    Show a reminder notification firing on the lock screen.

    Seed
    Schedule a reminder 1 minute out so it fires on camera, then lock the device.
    Shots
    1. Lists → + → 'Demo reminder' due in 1 min → save.
    2. Lock the device.
    3. Hold on lock screen until notification fires.
    4. Cut on the notification visible.

    todo


Section 10

Daily notes

Append-only journal the assistant can read.

0/3 final
  1. 10.01 8s

    Today

    Open today's note; add an entry; show timestamped append.

    Seed
    Today's daily note is intentionally seeded as empty — for the 'append entry' shot you write fresh content live.
    Shots
    1. Today tab → empty today's note visible.
    2. Tap + → type 'Recorded the demo videos this morning.'
    3. Save.
    4. Hold on the timestamp + entry rendered.
    5. Cut.

    seeded

  2. 10.02 8s

    Past day

    Scroll the calendar; open a past day; show entries.

    Seed
    Past 6 days are populated. Recommended pick: -2 days
    ('Crown Hotel Sydney for the founders' summit. Long day…').
    
    Shots
    1. Today tab → calendar / scrubber.
    2. Scroll back 2 days.
    3. Open that day → entries visible.
    4. Cut on the body text.

    seeded

  3. 10.03 10s

    Reference in chat

    Ask the assistant about something from yesterday's note; show citation.

    Seed
    Suggested prompt:
    'What did I do at the founders' summit?'
    (Cites the daily note from -2 days, plus the seeded transcript.)
    
    Shots
    1. Chat → ask the prompt.
    2. Hold on response with citations.
    3. Tap a daily-note citation chip.
    4. Cut on the side panel showing the daily note.

    seeded


Section 11

Artifacts

Generated docs, shareable as links.

0/3 final
  1. 11.01 14s

    Generate artifact

    Ask for a one-page brief from a set of documents; show streaming render.

    Seed
    One artifact already seeded:
    'One-page brief: signals from saved articles, April 2026.'
    For this clip, generate a NEW artifact live so the streaming render is
    real. Suggested: 'Draft a one-page brief from my voice memos this month.'
    
    Shots
    1. Chat → say the line above.
    2. Hold on the streaming artifact rendering.
    3. Cut on a rendered headline + bullets.

    seeded

  2. 11.02 10s

    Public share link

    Tap share; show the public URL preview; open it in Safari.

    Seed
    Use the pre-seeded April-articles brief — open it from the Artifacts list, share, capture the URL.
    Shots
    1. Open the seeded artifact.
    2. Tap share.
    3. Hold on the public URL preview.
    4. Cut to Safari → URL pasted → public render visible.

    seeded

  3. 11.03 10s

    Edit artifact

    Ask for revisions in chat; show artifact updating.

    Seed
    Open the seeded brief in chat; ask 'Make it shorter, just 3 bullets.' or 'Add a sentence about pricing implications.'
    Shots
    1. Open the artifact in chat.
    2. Type the revision prompt.
    3. Hold on the artifact updating in place.
    4. Cut on the new render.

    seeded


Section 12

Apple Watch

SwiftUI-native companion.

0/4 final
  1. 12.01 8s

    Dictation

    Single tap to dictate; show transcription and confirmation.

    Seed
    none — live device clip. Suggested phrase: 'Pick up bread on the way home.'
    Shots
    1. Raise wrist → Moonjar app.
    2. Tap mic, dictate, release.
    3. Hold on transcription confirmation.
    4. Cut.

    todo

  2. 12.02 8s

    Reminders glance

    Open the watch app; show today's reminders and tap to mark done.

    Seed
    Seeded reminders (Today list) include 'Reply to Hannah re: lease
    renewal' due today — perfect for the watch glance.
    
    Shots
    1. Raise wrist → Moonjar Reminders glance.
    2. Show today's items.
    3. Tap 'Reply to Hannah' → tick done.
    4. Cut on the strikethrough.

    seeded

  3. 12.03 6s

    Complications

    Show streak / pending count complications on a watch face.

    Seed
    none — live device clip. Make sure the watch face has Moonjar complications added before recording.
    Shots
    1. Raise wrist → home watch face.
    2. Hold on Moonjar complication (streak / pending count).
    3. Cut.

    todo

  4. 12.04 8s

    Capture confirm

    Capture from watch → cut to phone showing the entry has landed.

    Seed
    none — live device clip. Say something memorable: 'Idea — change the Atlas pin colour for completed reminders.'
    Shots
    1. Watch → mic → speak.
    2. Hold on watch confirmation.
    3. Cut to iPhone Documents tab → entry at top.

    todo


Section 13

Notifications

Quiet, useful pushes.

0/3 final
  1. 13.01 6s

    Document expiry

    Show an expiry-warning push (e.g. lease about to lapse).

    Seed
    The seeded lease (14 Wellington Pde) has expiry_date 2026-09-14.
    The expiry-warning notification scanner should fire when the lease
    gets within its warning window. To force it for the demo, edit the
    lease's expiry_date to 30 days from now and trigger the scanner.
    Easier alternative: schedule a faux notification in chat that mimics
    the wording.
    
    Shots
    1. Lock the device.
    2. Hold on lock screen until the expiry notification fires.
    3. Cut on the notification visible.

    seeded

  2. 13.02 6s

    Reminder due

    Show a reminder push and the deep-link into the lists tab.

    Seed
    Reschedule 'Reply to Hannah re: lease renewal' to fire 1 minute from now, lock the device.
    Shots
    1. Lock the device.
    2. Hold until the notification fires.
    3. Tap to deep-link into Lists.
    4. Cut on the lists tab open.

    seeded

  3. 13.03 8s

    Insight delivered

    Show an insight notification and the resulting in-app card.

    Seed
    Insights notifications are generated by the proactive-insights service. Run the insights tool live near end-of-day to trigger one.
    Shots
    1. Lock the device.
    2. Hold until the insight notification fires.
    3. Tap to open.
    4. Cut on the in-app insight card.

    todo


Section 14

Settings — Privacy & AI

Compliance with App Store guideline 5.1.2(i).

0/6 final
  1. 14.01 12s

    First-launch consent

    Fresh install: the consent screen naming Anthropic, Cohere, OpenAI. Tap "I consent."

    Seed
    none — must be a clean install (or sign-out + sign-in to the seeded account if the app re-shows the consent screen on first sign-in).
    Shots
    1. Fresh install → open app.
    2. Hold on the consent screen text (Anthropic, Cohere, OpenAI named).
    3. Tap 'I consent.'
    4. Cut on the next screen.

    todo

  2. 14.02 12s

    Per-provider toggle

    Settings → Privacy → toggle each provider off; show banner appearing on chat tab.

    Seed
    none — UI tour (the demo account has consent granted).
    Shots
    1. Settings → Privacy.
    2. Toggle Anthropic off.
    3. Cut to Chat tab → banner appears.
    4. Toggle Anthropic back on.
    5. Cut.

    seeded

  3. 14.03 10s

    Master AI off

    Toggle off all AI features; show fallback search and disabled chat.

    Seed
    none — UI tour.
    Shots
    1. Settings → Privacy → master AI toggle off.
    2. Cut to Chat tab → disabled state with explanation.
    3. Cut to Documents → search → fallback (full-text only) banner.
    4. Cut.

    seeded

  4. 14.04 14s

    Account deletion

    Settings → Account → Delete Account; confirm; show sign-in screen with the account gone.

    Seed
    DO NOT delete the demo account on production while recording — the
    seed will need to be re-run. Use a throwaway TestFlight account, or
    record the click-through flow then bail at the final confirmation.
    
    Shots
    1. Settings → Account.
    2. Tap 'Delete Account.'
    3. Hold on the confirmation dialog.
    4. Type confirmation phrase.
    5. (Bail or proceed depending on which account you're using.)
    6. Cut on the sign-in screen post-deletion (use a throwaway account here).

    todo

  5. 14.05 10s

    Export

    Settings → Export; show the JSON archive being prepared and emailed.

    Seed
    none — UI flow on the demo account.
    Shots
    1. Settings → Export.
    2. Tap Export → progress bar.
    3. Hold on the email-sent confirmation.
    4. Cut.

    seeded

  6. 14.06 6s

    Privacy Policy link

    Settings → Privacy Policy → opens moonjar.io/privacy in a webview.

    Seed
    none.
    Shots
    1. Settings → Privacy Policy.
    2. Hold on the webview rendering moonjar.io/privacy.
    3. Cut on the page header.

    seeded


Section 15

Settings — Integrations

Email capture, theme, watch, share extension.

0/7 final
  1. 15.01 14s

    Register email sender

    Add and verify a new sender address for email capture; show the verification round-trip.

    Seed
    jay@jaymccormack.com is already registered + verified. For the demo,
    add a NEW address live (e.g. a +alias) so the verification email
    round-trip is on camera.
    
    Shots
    1. Settings → Email senders.
    2. Show the registered jay@jaymccormack.com row.
    3. Tap +.
    4. Type a new alias address.
    5. Cut to email inbox → verification link.
    6. Tap the link.
    7. Cut back to settings → status flipped to verified.

    seeded

  2. 15.02 8s

    Theme — Paper / Midnight

    Toggle between Paper and Midnight Jar; show the whole UI flipping.

    Seed
    none — UI tour.
    Shots
    1. Settings → Appearance.
    2. Toggle Paper → Midnight.
    3. Hold on the UI flipping.
    4. Toggle back.
    5. Cut on the second flip.

    seeded

  3. 15.03 10s

    Watch sync

    Pair watch; show Watch app on iPhone confirming.

    Seed
    none — live device pairing flow.
    Shots
    1. Settings → Watch.
    2. Tap pair.
    3. Cut to Watch app on iPhone confirming Moonjar installed.
    4. Cut.

    todo

  4. 15.04 10s

    Share extension setup

    Enable Moonjar in iOS share sheet; show it appearing in Safari share.

    Seed
    none — live iOS settings flow. Share extension already enabled on most demo phones.
    Shots
    1. iOS Settings → Share Sheet → enable Moonjar.
    2. Cut to Safari → share button → Moonjar visible.
    3. Cut.

    todo

  5. 15.05 8s

    Account

    View account screen; sign out and back in.

    Seed
    Demo creds: jay@jaymccormack.com (password in 1Password). The
    sign-out + sign-in round-trip is safe.
    
    Shots
    1. Settings → Account.
    2. Show the account row (email, name).
    3. Tap sign out → confirm.
    4. Sign in screen → enter creds → tap Sign In.
    5. Cut on the home tab loading.

    seeded

  6. 15.06 6s

    Appearance

    Settings → Appearance; toggle font sizes / density.

    Seed
    none — UI tour.
    Shots
    1. Settings → Appearance.
    2. Toggle font size / density.
    3. Hold on the UI responding.
    4. Cut.

    seeded

  7. 15.07 8s

    Device activity

    Settings → Device activity; show recent device pings and locations.

    Seed
    Device pings populate from real device usage of the demo account. May be sparse — capture a couple of locations live first if needed.
    Shots
    1. Settings → Device activity.
    2. Hold on the list of recent pings + locations.
    3. Cut.

    seeded


Section 16

Empty & error states

What it looks like when there's nothing — or when the network's gone.

0/5 final
  1. 16.01 6s

    Empty inbox

    Brand-new install, nothing captured yet — empty state copy.

    Seed
    Use a fresh TestFlight account (NOT the demo account, which is full).
    Shots
    1. Sign into a fresh account.
    2. Hold on the empty Documents tab — empty state copy visible.
    3. Cut.

    todo

  2. 16.02 6s

    Search no results

    Search for something obscure; show the no-results state.

    Seed
    On the seeded account, try 'cryogenics' or 'fluorescence' — neither
    matches anything in the seed data, so the no-results state renders.
    
    Shots
    1. Search bar.
    2. Type 'cryogenics'.
    3. Hold on the no-results state copy.
    4. Cut.

    seeded

  3. 16.03 6s

    AI features disabled

    Chat tab with AI consent revoked; show the explanatory banner.

    Seed
    Same flow as 14.03 — toggle master AI off then visit the Chat tab.
    Shots
    1. Settings → Privacy → master AI off.
    2. Cut to Chat tab → disabled state + banner.
    3. Cut on the banner copy.

    seeded

  4. 16.04 12s

    Offline queue

    Turn off network; capture; show queued indicator. Reconnect; show queue draining.

    Seed
    none — live network toggle. Use Airplane Mode.
    Shots
    1. Toggle Airplane Mode on.
    2. Capture tab → text → 'Offline test capture.'
    3. Hold on the queued indicator.
    4. Toggle Airplane Mode off.
    5. Cut on the indicator clearing + entry appearing in Documents.

    todo

  5. 16.05 10s

    Sync conflict (rare)

    Edit the same record on two devices; show the resolution UI if/when it surfaces.

    Seed
    none — requires two devices logged into the same demo account, both editing the same daily note. Skip if conflict UI doesn't reproduce reliably.
    Shots
    1. iPhone: open today's daily note → start editing.
    2. iPad: open the same note → edit a different word.
    3. Save on both.
    4. Hold on the conflict-resolution UI (if it appears).
    5. Cut.

    todo