Spaces:
Sleeping
Download docs/demo-walkthrough.md from ParetoOptimal/OffGridSchedula: direct link, hf CLI and curl.
- Browser
- Download file 8.83 kB
-
https://huggingface.co/spaces/ParetoOptimal/OffGridSchedula/resolve/main/docs/demo-walkthrough.md
- Command line
-
hf download hf://spaces/ParetoOptimal/OffGridSchedula/docs/demo-walkthrough.md
-
curl -L -o demo-walkthrough.md https://huggingface.co/spaces/ParetoOptimal/OffGridSchedula/resolve/main/docs/demo-walkthrough.md
Demo video β recording walkthrough & talk track
The end-to-end runbook for recording the public demo video: environment prep, the shot-by-shot walkthrough with the exact talk track, and why each line is worded the way it is. The compact storyboard lives in demo-script.md; this document is the operator's guide for actually producing it for a general-public audience (the hackathon Submission-tab finale is replaced with a public closer).
Decisions baked into this walkthrough
- Backend: the live GPU Space. Record against the real model β streaming
output, real extraction, working vision. Never record stub mode
(
USE_STUB_EXTRACTOR=1output is visibly fake and vision is disabled). - Calendar: a brand-new demo Google account (e.g.
offgridschedula.demo@), not a personal calendar. Zero PII can appear on camera β no real events, no real email in the OAuth chrome β and the calendar is seeded with exactly the event that produces the on-screen conflict. - The on-camera "event lands in the calendar" moment uses .ics import, not
a server-side OAuth push.
credentials.json/token.jsonmust never live on the public Space; importing the downloaded .ics into the demo account's Google Calendar shows the same payoff with zero server credentials. (An optional locally-recorded one-click-push splice is described at the end.)
Part A β Prep (before recording day)
A1. Demo Google account
- Create the account; set a neutral profile name ("OffGrid Demo").
- In its Google Calendar (local timezone), seed one clashing event:
Dentist β Tuesday 5:00 PM. It collides with "practice moved to Tuesday 5pm" in the UI's built-in sample thread, which is what makes the β οΈ conflict badge fire on camera. Add 1β2 filler events so the calendar looks lived-in. - Export the calendar (Settings β Import & export β Export) and save the
unzipped file as
demo-existing-calendar.icsβ this gets uploaded in the UI.
A2. Assets
- Flyer image for the vision shot: a simple school-event flyer (title, date, time, place) as PNG/JPEG β not HEIC (the vision pipeline can't decode it), under 4 MB.
- Staged iMessage chat for the opening phone shot: stage a group chat with demo contacts containing the storyboard lines ("Picture day Thursday 9am", "practice moved to Tuesday 5", "RSVP by Friday") and screen-record it scrolling. Never show a real chat.
A3. Space
- Put the Docker Space on a GPU tier (T4 is enough for E4B) and restart
it β restarting also clears
/tmp, so no previously-ingested feed data is visible anywhere in the UI. - Confirm
USE_STUB_EXTRACTORis unset andMMPROJ_FILEis set (vision). - Dry-run after llama-server health is green: sample thread β real streamed
output; upload
demo-existing-calendar.icsβ conflict badge; flyer β event from image. - Relative dates resolve from the server clock (UTC) β check the dry-run dates land on the expected weekdays and adjust the seeded Dentist event if needed.
A4. Recording
- 1080p+ screen capture (QuickTime / OBS) in a clean browser profile logged into the demo Google account only.
- Record the voiceover separately after screen capture β cleaner than narrating live, and the talk track below is written to be read.
Part B β Shot list with talk track
| # | Time | Screen | Action | Talk track |
|---|---|---|---|---|
| 1 | 0:00β0:08 | iPhone clip | Staged class group chat scrolls past | "Every parent knows this chat. The dates are in here β and they're easy to miss." |
| 2 | 0:08β0:20 | Browser | Open the Space; hero + badges visible; zoom the π badge | "OffGridSchedula. No app, no account β a small model runs right in the Space. No cloud APIs anywhere: that's the Off the Grid quest β local-first, the whole thing runs on the model in front of you." |
| 3 | 0:20β0:34 | Schedule flow | Upload demo-existing-calendar.ics first, then tap Try a sample; thinking panel streams; flash the model card link |
"Paste the chat. The model reading it is Well-Tuned β our own fine-tune of Gemma, published on Hugging Face with its eval scorecard β and it runs through the llama.cpp runtime: Llama Champion." |
| 4 | 0:34β0:48 | Results | Event cards appear; β οΈ conflict vs Dentist; free-slot chips | "It pulls out the events, checks your calendar, and catches the clash β before anything is saved." |
| 5 | 0:48β0:58 | Vision | Start over β drop in the flyer PNG β event extracted from the image | "A flyer or screenshot works too β the same local model reads the date, time and place right off the picture." |
| 6 | 0:58β1:10 | Export | Copy the drafted reply; Download .ics; switch tabs and import it into the demo Google Calendar β events appear on the grid | "It drafts the reply, and the events drop straight into your calendar β Google, Apple, anything that takes a .ics." |
| 7 | 1:10β1:22 | Activity | Activity tab's live pipeline; click share trace; the public dataset page flashes | "Every agent run is observable β and one click publishes a redacted trace to a public Hub dataset for anyone to learn from. That's Sharing is Caring: the open trace quest." |
| 8 | 1:22β1:35 | Closer | Slow pan over the custom landing page β end card with the Space URL | "And everything you've watched β the hero, the cards, that dashboard β is a custom frontend pushed far past the default Gradio look: Off-Brand. Open source, runs locally, your messages never leave the machine. Try it free β link below." |
Tip for shot 6: pre-open the demo calendar's import dialog in a second tab so
the on-camera import is two clicks. Tip for shot 7: have the
ParetoOptimal/offgridschedula-traces dataset page pre-loaded in a tab so the
"published" beat is one cut, not a page load.
Why the talk track is worded this way
- Shot 1 names the pain before the product. "Every parent knows this chat" earns the next 60 seconds from a general audience that has never heard of local LLMs β the hook is the missed pickup, not the model.
- The bonus quests are named out loud, verbatim, at their evidence moments. This track serves two audiences at once: the public hook stays in shots 1 and 4β6, while the field guide's quest names β Off the Grid (local-first, no cloud APIs), Well-Tuned (published fine-tune), Llama Champion (llama.cpp runtime), Sharing is Caring (open trace on the Hub), and Off-Brand (custom UI past stock Gradio) β are each spoken exactly when the screen shows the proof. Judges score the video against those names; making them explicit means no claimed quest can be missed on a single watch. (The sixth claimed quest, Field Notes, is print, not screen β it lives on the end card and in the README, not the voiceover.)
- Shot 2 still kills the two adoption objections immediately ("no app, no account") before the first quest callout β the badge language is framed as a plain-English promise ("the whole thing runs on the model in front of you"), so the callout lands for laypeople too.
- Shot 4's "before anything is saved" is the trust beat β the agent proposes, the human disposes. This line pre-empts the "AI touched my calendar" fear that kills scheduling tools.
- Shot 6 generalizes the payoff ("Google, Apple, anything that takes a .ics") so the demo doesn't read as Google-only β and the on-screen action matches the off-grid story: a local file the user chooses to import.
- Shot 8 closes on the three-word value stack β open source, local, private β and a single call to action, with the Off-Brand callout folded into the visual it describes. People remember one URL and one feeling.
Part C β Edit & publish
- Assemble: phone clip β screen capture β end card. Speed-ramp model wait time but keep ~2 s of genuine streaming so it reads as live.
- Burn in captions (most social viewers watch muted). Export 1920Γ1080; optionally a 1080Γ1920 vertical crop of shots 3β6 for Shorts/Reels.
- Pair with the draft copy in social-post.md; link the video from the README (Build Small hard rule #3).
- Pause or downgrade the GPU Space after recording unless the closer is meant to drive live traffic.
Optional: one-click Google Calendar push splice
To show the actual Add to Google Calendar button instead of the .ics
import: run the app locally, complete the one-time OAuth flow as the demo
account to mint a local token.json, enable the toggle, and record just that
click β the UI is pixel-identical and splices cleanly. Never upload
credentials.json/token.json to the public Space.