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.
- 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
- Open Capture tab from the bottom bar.
- Type: 'Reading list — add Working in Public by Nadia Eghbal, recommended by Lina.'
- Tap Save.
- Cut to Documents tab; new entry sits at the top of the list.
- Hold long enough to show the AI-extracted summary line under the title.
final
- 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
- Open Capture → URL field.
- Paste an article URL.
- Hold on the 'extracting…' progress state for ~1s.
- Cut to the resulting document open: title, author, source, reading time, topics all populated.
todo
- 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
- Open Capture → camera icon.
- Snap a printed receipt or handwritten note.
- Hold on classification ('Retail Receipt' or 'Note') landing.
- Cut on the structured fields panel populated.
todo
- 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
- Open Files app, drag a PDF into Moonjar (or share-sheet → Moonjar).
- Hold on the parser progress state.
- Cut to the resulting document with extracted summary + key fields.
todo
- 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
- Open Mail. Compose to save@in.moonjar.io with a short body and an attached PDF.
- Tap Send.
- Cut to Moonjar Documents tab. Pull-to-refresh.
- New email sits at the top with the attachment chip beneath.
todo
- 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
- Open Capture → mic button.
- Hold and speak the line above.
- Release.
- Hold on the transcription rendering with punctuation.
- Cut on the resulting document title preview.
todo
- 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
- Raise wrist; open Moonjar Watch app.
- Tap the mic; speak the line above.
- Hold on watch confirmation glance.
- Cut to iPhone Documents tab; the entry has landed.
todo
- 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
- Safari → share button.
- Tap Moonjar in the share sheet.
- Hold on the share-extension confirmation.
- 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.
- 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
- Documents tab → search 'opinionated tools' (or scroll to the article).
- Tap to open.
- Hold on the extracted-fields panel: author, source, reading time, topics.
- Cut on the topics chips visible.
seeded
- 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
- Documents → filter chip 'Retail Receipt'.
- Tap the Bunnings row ($187.40).
- Hold ~2s on structured fields: total, merchant, tax, category.
- Back → search bar → type 'receipts > 100' → 5 results render.
- Cut on the filtered list.
seeded
- 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
- Documents → search 'Sarah Whitfield'.
- Tap to open.
- Hold on the contact-shaped fields: name, role, company, email, phone, city.
- Cut on the email/phone row.
seeded
- 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
- Documents → search 'miso eggplant'.
- Tap to open.
- Scroll: ingredients list, then method.
- Hold on yield + time fields visible.
- Cut at the bottom of the recipe.
seeded
- 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
- Documents → filter 'Legal Document'.
- Tap the Wellington Pde lease row.
- Show parties, dates, term, bond fields.
- Tap the PDF attachment → it opens inline.
- Cut on the PDF first-page header.
seeded
- 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
- Documents → filter 'image'.
- Tap the Q2 planning whiteboard.
- Show the OCR-extracted text panel.
- Show the small location row (East Melbourne).
- Cut on the OCR text scrolling.
seeded
- 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
- Documents → search 'founders summit'.
- Tap to open.
- Show date + attendees fields.
- Scroll to the action items field.
- Cut on the action items visible.
seeded
- 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
- Documents → search 'memory prosthesis'.
- Tap to open.
- Show the body text rendered.
- Tap chat-side annotation icon.
- Cut on the annotation drawer opening.
seeded
- 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
- Documents → search 'board pack'.
- Tap Lina's email.
- Show sender + subject + body.
- Tap the attachment chip → PDF opens.
- Cut on PDF header.
seeded
- 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
- Documents → search 'effective agents'.
- Tap to open.
- Show URL + saved date + tags.
- Cut on the source URL link rendered.
seeded
- 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
- Documents → search 'feature flag idea'.
- Tap to open.
- Show audio waveform / play button (from a fresh capture, ideally).
- Show transcript panel beside it.
- Cut on transcript visible.
seeded
Section 03
Tabs — overview
One pass through each main screen. Used for app-store stills and intro reels.
- 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
- Open Chat tab.
- Scroll up through a conversation that has citation chips + a tool-call card.
- Cut on a citation chip visible.
todo
- 03.02 10s
Capture
The capture sheet. Tap each input mode.
Seed
none — UI tour. Demo account is logged in; tabs are populated.
Shots
- Open Capture tab.
- Tap each input mode: text, URL, photo, mic, share-instructions, files.
- Cut on the mode chips visible.
seeded
- 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
- Open Documents tab.
- Tap sort → 'Recent'.
- Tap filter → 'Retail Receipt' → list re-filters.
- Tap into the Bunnings receipt.
- Cut on the document detail.
seeded
- 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
- Open Collections tab.
- Show the three collection cards.
- Tap 'Books I've read'.
- Hold on table view: title, author (linked), rating, theme, month.
- Cut on the table.
seeded
- 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
- Open Lists tab.
- Tap into 'Today' list.
- Tick 'Send redline to Marcus' done.
- Cut to iOS Reminders app showing the same item ticked.
seeded
- 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
- Open Today tab.
- Tap into today (empty).
- Type one line: 'Recorded the demo videos this morning.'
- Tap save.
- Cut on the timestamp + body visible.
seeded
- 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
- Open Atlas tab.
- Hold on the world view — pins scattered.
- Pinch to zoom into Melbourne — cluster opens to multiple pins.
- Tap a pin → preview card with the document title.
- Cut on the preview.
seeded
- 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
- Open Brain tab.
- Wait for the graph to settle.
- Tap a heavily-connected node (e.g. 'Marcus Lin' or 'Sarah Whitfield').
- Show the side panel of related entities.
- Cut on the connections lit up.
seeded
- 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
- Open Automations tab.
- Tap + → name automation → cadence: weekly Monday 8am → action: 'summarise last week's documents'.
- Save → it appears in the list with 'next run' timestamp.
- Cut on the next-run row.
todo
- 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
- Open Memories tab — list visible.
- Cut to chat: type 'My birthday is 12 August.'
- Send.
- Cut back to Memories tab — new memory at the top.
seeded
- 03.11 6s
More
More menu. Surfaces secondary features (settings, account).
Seed
none — UI tour.
Shots
- Open More tab.
- Hold on the section list (Settings, Account, Privacy, Export, Email senders, Theme).
- Cut on the menu visible.
seeded
Section 04
Search
Hybrid recall — semantic, full-text, and structured.
- 04.01 8s
Quick search
Top-bar quick search; type 3 chars; results refine live.
Seed
Type 'mar' — 'Marcus Lin' (contact) and 'Marsh' (sleep article author) both seeded; results refine as more chars typed.
Shots
- Tap the top search bar.
- Type slowly: m → a → r → results refine each character.
- Cut at 'mar' showing both Marcus and Marsh.
seeded
- 04.02 10s
Semantic recall
Type a vague conceptual query ("that piece on attention sinks"); show semantic match scoring.
Seed
Vague-but-recoverable queries that hit seeded articles: - 'that thing about long-context sinks' → Helena Brun's article - 'piece about cafés as constraint' → Lukas Reid's solo café piece - 'why my watch sleep score doesn't match how I feel' → Marsh sleep article
Shots
- Search bar.
- Type: 'that thing about long-context sinks'.
- Hold on results — semantic match scores visible.
- Cut on the top result (the attention sinks article).
seeded
- 04.03 8s
Full-text
Search for an exact phrase; show full-text matches highlighted.
Seed
Exact phrases that match seeded docs: - '5.1.2(i)' → APP_STORE_SUBMISSION-style notes + the watch dev log - 'fair wear and tear' → bond claims article - 'days, not months' → voice memo / call notes with Marcus
Shots
- Search bar.
- Type with quotes: "fair wear and tear"
- Cut on the highlighted match in the bond claims article.
seeded
- 04.04 12s
Structured filter
Filter receipts by amount and date range; show the SQL-style chips.
Seed
Six receipts spanning April 2026, $40-$612. Try chips: - 'receipts > 100' → 5 of 6 - 'receipts > 200' → only Crown Hotel - 'receipts in April' → all 6
Shots
- Search bar → 'receipts > 100'.
- Hold on the SQL-style chips appearing under the input.
- Cut on the 5 results.
seeded
- 04.05 10s
Mixed (hybrid)
One query that returns three result types in one list.
Seed
Try 'Marcus' — returns: - Marcus Lin (contact) - 'Voice memo — call notes with Marcus' (voice memo) - 'Send redline to Marcus' (reminder) OR try 'lease' — returns: - Lease — 14 Wellington Pde (legal doc) - Hannah's renewal options email (email) - 'Reply to Hannah re: lease renewal' (reminder)
Shots
- Search bar.
- Type 'lease'.
- Cut on the result list with the doc icon, email icon, and reminder icon visible.
seeded
Section 05
Chat — flows
The assistant has done the reading.
- 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
- Open Chat tab.
- Type: 'Summarise what's in my Q3 board pack.'
- Send. Wait for response with citation chips.
- Tap a citation chip → source opens in a side panel.
- Cut on the side panel showing the document.
seeded
- 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
- Chat tab → mic button.
- Hold and ask the question.
- Release; transcription appears.
- Response renders with citation.
- Tap speaker icon to hear it read aloud.
- Cut on the read-aloud waveform.
seeded
- 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
- Chat tab → type T1.
- Response cites the lease.
- Type T2.
- Response confirms reminder created.
- Type T3.
- Response drafts the email.
- Cut on the drafted email.
seeded
- 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
- Chat tab → type T1.
- Response cites the anniversary memory.
- Type T3 (skip the obvious T2 if needed).
- Cut on the response showing the memory citation chip.
seeded
- 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
- Chat tab → existing or fresh response with citation chips.
- Tap one chip.
- Hold on the side panel rendering the source document with the matched span highlighted.
- Cut on the highlight.
seeded
- 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
- Chat tab → ask a question.
- Wait for response.
- Reply chips fade in below.
- Tap one.
- Cut on the new turn starting.
todo
Section 06
Chat tools — actions
Each tool the assistant can call. One short demo per tool.
- 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
- Chat → type prompt.
- Hold on the search-tool card with 3+ results.
- Cut on the results card.
seeded
- 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
- Chat → 'Save this article:
.' - Hold on the save-tool card showing fetch in progress.
- Cut to confirmation + the document appearing in Documents.
todo
- Chat → 'Save this article:
- 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
- Chat → ask the weather question.
- Hold on the weather card with temp + conditions + location.
- Cut on the card.
todo
- 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
- Chat → ask the question.
- Hold on the web-search card with sources.
- Cut on the source list.
todo
- 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
- Chat → ask the deep question.
- Hold on the multi-step progress UI (sources scanned, sub-questions).
- Cut on the final summary panel.
todo
- 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
- Chat → 'Find a good coffee shop near me.'
- Hold on the places card with 3-5 results + map mini.
- Cut on the card.
todo
- 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
- Chat → ask the route.
- Hold on the route card with map + step list + ETA.
- Cut on the steps.
todo
- 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
- Chat → 'What's the status of QF1 right now?'
- Hold on the flight card with airline + route + ETA.
- Cut on the card.
todo
- 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
- Chat → 'Find flights MEL to SYD next Tuesday.'
- Hold on the flight-search card with multiple results.
- Cut on the results card.
todo
- 06.10 8s
get_news
Ask for headlines; show the news card.
Seed
none — live NewsAPI call. Suggested: 'Top tech headlines today.'
Shots
- Chat → 'Top tech headlines today.'
- Hold on the news card with 3-5 stories.
- Cut on the card.
todo
- 06.11 10s
search_show / trending_shows
"What's worth watching?" — show TV cards.
Seed
none — live TMDB call.
Shots
- Chat → 'What's trending on TV this week?'
- Hold on the TV card grid with posters.
- Cut on the grid.
todo
- 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
- Chat → ask the book question.
- Hold on the book card with cover + author + summary.
- Cut on the card.
todo
- 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
- Chat → ask for the image.
- Hold on the generation progress.
- Image lands.
- Cut on the rendered image.
todo
- 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
- Chat → follow-up prompt with the previous image referenced.
- Hold on edit progress.
- Edited image lands beside or replacing the original.
- Cut on the new image.
todo
- 06.15 8s
search_images
Search for stock images; show grid card.
Seed
none — live API call. Suggested: 'Find images of brutalist architecture.'
Shots
- Chat → ask the image search.
- Hold on the image grid card.
- Cut on the grid.
todo
- 06.16 6s
translate_text
Translate a snippet; show before/after card.
Seed
none — live call.
Shots
- Chat → 'Translate "slow down to think" into Japanese.'
- Hold on the before/after translation card.
- Cut on the card.
todo
- 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
- Chat → ask the question.
- Hold on the small fact card.
- Cut on the card.
todo
- 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
- Chat → ask the question.
- Hold on the knowledge card with photo + bio + key facts.
- Cut on the card.
todo
- 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
- Chat → ask the question.
- Hold on the step-by-step calc card with intermediate numbers.
- Cut on the result.
todo
- 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
- Chat → 'Draft a one-page brief from my April receipts.'
- Hold on the streaming artifact panel rendering.
- Cut on a rendered headline + bullet.
seeded
- 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
- Chat → ask for the notification.
- Confirmation card appears.
- Lock the device.
- Hold on lock screen until the notification fires.
- Cut on the notification visible.
todo
- 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
- Chat → 'Remind me to call Tom the plumber on Friday at 10am.'
- Tool card confirms reminder created.
- Cut to Lists tab → new reminder visible.
- Cut to iOS Reminders → same item visible.
seeded
- 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
- Chat → 'Give me my end-of-day digest.'
- Hold on the insights card with 3-4 items.
- Cut on a suggested action button.
todo
- 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
- Chat → 'Where am I right now?'
- Hold on the location card with map mini.
- Cut on the card.
todo
- 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
- Chat → 'Give me today's health summary.'
- Hold on the health card with steps, energy, HR, sleep.
- Cut on the card.
todo
Section 07
Collections
Build your own database, by talking.
- 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
- Chat → 'Create a collection to track every coffee I drink, with date, place, drink, rating.'
- Hold on the schema-proposal card.
- Tap Confirm.
- Cut to Collections tab → new collection appears at the top.
todo
- 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
- Chat → say the line above.
- Hold on the add-row tool card.
- Cut to Collections → 'Books I've read' → new row at top.
seeded
- 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
- Collections → Travel — places visited.
- Tap +.
- Fill: place=Adelaide, country=Australia, year=2025, highlight=Wine country trip.
- Save.
- Cut on the row appearing.
seeded
- 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
- Chat → 'Add a notes field to my books collection.'
- Hold on the schema-edit card.
- Cut to Collections → Books I've read → new column 'notes' visible.
seeded
- 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
- Collections → Books I've read.
- Tap a Naomi Alderman book → row detail.
- Tap her name (linked field) → jumps to Authors → Naomi Alderman row.
- Show the row + the back-references list of her books.
- Cut on the back-references.
seeded
- 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
- Chat → 'Show me my 5-star books.'
- Hold on the filtered-table tool card with 4 results.
- Cut on the table.
seeded
- 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
- Chat → paste the line above.
- Hold on the bulk-add tool card with 3 rows being inserted.
- Cut to Collections → Travel → 3 new rows.
todo
- 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
- Collections → Authors → … menu → Rename.
- Type new name → save.
- Tap a row → … → Delete → confirm dialog → Delete.
- Cut on the row removed.
seeded
Section 08
Memories
Persistent context the assistant always knows.
- 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
- Chat → say the fact.
- Send.
- Hold on the small 'memory saved' affordance in the response.
- Cut to Memories tab → new memory at the top.
todo
- 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
- Chat → existing or fresh message.
- Long-press → context menu → 'Save as memory.'
- Toast confirms.
- Cut to Memories tab → new entry.
todo
- 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
- Memories tab.
- Scroll the list.
- Tap 'Has a dog' to expand.
- Hold on the full content + location label.
- Cut on the expanded card.
seeded
- 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
- Memories → 'Coffee preference' → edit.
- Add a word → save.
- Back → 'Prefers async over calls' → delete → confirm.
- Cut on the deletion.
seeded
- 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
- Chat → start new conversation (+ button).
- Type the prompt above.
- Hold on response with memory-citation chip.
- Cut on the chip.
seeded
Section 09
Reminders & Lists
Round-trips to iOS Reminders.
- 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
- Chat → say the line above.
- Tool card confirms.
- Cut to Lists tab → new reminder visible.
- Cut to iOS Reminders → same item visible.
todo
- 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
- Lists tab → Today list.
- Tick 'Send redline to Marcus'.
- Long-press 'Renew Apple Developer membership' → Snooze → next week.
- Cut on both updated.
seeded
- 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
- Open iOS Reminders. Add 'Buy birthday card.'
- Cut to Moonjar Lists tab. Pull-to-refresh.
- New item appears.
- Cut on the new item.
todo
- 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
- Lists → + → 'Demo reminder' due in 1 min → save.
- Lock the device.
- Hold on lock screen until notification fires.
- Cut on the notification visible.
todo
Section 10
Daily notes
Append-only journal the assistant can read.
- 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
- Today tab → empty today's note visible.
- Tap + → type 'Recorded the demo videos this morning.'
- Save.
- Hold on the timestamp + entry rendered.
- Cut.
seeded
- 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
- Today tab → calendar / scrubber.
- Scroll back 2 days.
- Open that day → entries visible.
- Cut on the body text.
seeded
- 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
- Chat → ask the prompt.
- Hold on response with citations.
- Tap a daily-note citation chip.
- Cut on the side panel showing the daily note.
seeded
Section 11
Artifacts
Generated docs, shareable as links.
- 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
- Chat → say the line above.
- Hold on the streaming artifact rendering.
- Cut on a rendered headline + bullets.
seeded
- 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
- Open the seeded artifact.
- Tap share.
- Hold on the public URL preview.
- Cut to Safari → URL pasted → public render visible.
seeded
- 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
- Open the artifact in chat.
- Type the revision prompt.
- Hold on the artifact updating in place.
- Cut on the new render.
seeded
Section 12
Apple Watch
SwiftUI-native companion.
- 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
- Raise wrist → Moonjar app.
- Tap mic, dictate, release.
- Hold on transcription confirmation.
- Cut.
todo
- 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
- Raise wrist → Moonjar Reminders glance.
- Show today's items.
- Tap 'Reply to Hannah' → tick done.
- Cut on the strikethrough.
seeded
- 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
- Raise wrist → home watch face.
- Hold on Moonjar complication (streak / pending count).
- Cut.
todo
- 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
- Watch → mic → speak.
- Hold on watch confirmation.
- Cut to iPhone Documents tab → entry at top.
todo
Section 13
Notifications
Quiet, useful pushes.
- 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
- Lock the device.
- Hold on lock screen until the expiry notification fires.
- Cut on the notification visible.
seeded
- 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
- Lock the device.
- Hold until the notification fires.
- Tap to deep-link into Lists.
- Cut on the lists tab open.
seeded
- 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
- Lock the device.
- Hold until the insight notification fires.
- Tap to open.
- Cut on the in-app insight card.
todo
Section 14
Settings — Privacy & AI
Compliance with App Store guideline 5.1.2(i).
- 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
- Fresh install → open app.
- Hold on the consent screen text (Anthropic, Cohere, OpenAI named).
- Tap 'I consent.'
- Cut on the next screen.
todo
- 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
- Settings → Privacy.
- Toggle Anthropic off.
- Cut to Chat tab → banner appears.
- Toggle Anthropic back on.
- Cut.
seeded
- 14.03 10s
Master AI off
Toggle off all AI features; show fallback search and disabled chat.
Seed
none — UI tour.
Shots
- Settings → Privacy → master AI toggle off.
- Cut to Chat tab → disabled state with explanation.
- Cut to Documents → search → fallback (full-text only) banner.
- Cut.
seeded
- 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
- Settings → Account.
- Tap 'Delete Account.'
- Hold on the confirmation dialog.
- Type confirmation phrase.
- (Bail or proceed depending on which account you're using.)
- Cut on the sign-in screen post-deletion (use a throwaway account here).
todo
- 14.05 10s
Export
Settings → Export; show the JSON archive being prepared and emailed.
Seed
none — UI flow on the demo account.
Shots
- Settings → Export.
- Tap Export → progress bar.
- Hold on the email-sent confirmation.
- Cut.
seeded
- 14.06 6s
Privacy Policy link
Settings → Privacy Policy → opens moonjar.io/privacy in a webview.
Seed
none.
Shots
- Settings → Privacy Policy.
- Hold on the webview rendering moonjar.io/privacy.
- Cut on the page header.
seeded
Section 15
Settings — Integrations
Email capture, theme, watch, share extension.
- 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
- Settings → Email senders.
- Show the registered jay@jaymccormack.com row.
- Tap +.
- Type a new alias address.
- Cut to email inbox → verification link.
- Tap the link.
- Cut back to settings → status flipped to verified.
seeded
- 15.02 8s
Theme — Paper / Midnight
Toggle between Paper and Midnight Jar; show the whole UI flipping.
Seed
none — UI tour.
Shots
- Settings → Appearance.
- Toggle Paper → Midnight.
- Hold on the UI flipping.
- Toggle back.
- Cut on the second flip.
seeded
- 15.03 10s
Watch sync
Pair watch; show Watch app on iPhone confirming.
Seed
none — live device pairing flow.
Shots
- Settings → Watch.
- Tap pair.
- Cut to Watch app on iPhone confirming Moonjar installed.
- Cut.
todo
- 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
- iOS Settings → Share Sheet → enable Moonjar.
- Cut to Safari → share button → Moonjar visible.
- Cut.
todo
- 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
- Settings → Account.
- Show the account row (email, name).
- Tap sign out → confirm.
- Sign in screen → enter creds → tap Sign In.
- Cut on the home tab loading.
seeded
- 15.06 6s
Appearance
Settings → Appearance; toggle font sizes / density.
Seed
none — UI tour.
Shots
- Settings → Appearance.
- Toggle font size / density.
- Hold on the UI responding.
- Cut.
seeded
- 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
- Settings → Device activity.
- Hold on the list of recent pings + locations.
- Cut.
seeded
Section 16
Empty & error states
What it looks like when there's nothing — or when the network's gone.
- 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
- Sign into a fresh account.
- Hold on the empty Documents tab — empty state copy visible.
- Cut.
todo
- 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
- Search bar.
- Type 'cryogenics'.
- Hold on the no-results state copy.
- Cut.
seeded
- 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
- Settings → Privacy → master AI off.
- Cut to Chat tab → disabled state + banner.
- Cut on the banner copy.
seeded
- 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
- Toggle Airplane Mode on.
- Capture tab → text → 'Offline test capture.'
- Hold on the queued indicator.
- Toggle Airplane Mode off.
- Cut on the indicator clearing + entry appearing in Documents.
todo
- 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
- iPhone: open today's daily note → start editing.
- iPad: open the same note → edit a different word.
- Save on both.
- Hold on the conflict-resolution UI (if it appears).
- Cut.
todo