Spaces:
Running
Running
| # Gridlock β Demo Video Script (3β4 minutes) | |
| > A scene-by-scene shooting script for the demo video. Each scene gives you: | |
| > **[SHOW]** what's on screen Β· **[SAY]** the voiceover (β150 wpm) Β· **[TEXT]** on-screen | |
| > captions/callouts Β· **[TIME]** running length. | |
| > | |
| > **Total target: ~3:30.** Tighten by trimming Scene 6 (Top Areas) or the Models deep-dive | |
| > if you run long. **Record the screen at 1080p+**, do a dry run of every click first, and | |
| > pre-fill the Predict form so you're never typing on camera. | |
| > | |
| > **Tone:** confident, fast, product-demo energy. Let the app do the talking β narrate the | |
| > *decision*, not the UI mechanics ("now I click this button"). | |
| --- | |
| ## PRE-PRODUCTION CHECKLIST (do this before recording) | |
| - [ ] App running and warm (open it once so the model is loaded β first predict can be slow). | |
| - [ ] Browser in a clean window, no bookmarks bar, 100β110% zoom, dark OS theme. | |
| - [ ] Pre-decide the **demo event** so the result is impressive and consistent: | |
| `event_cause = construction`, location near **HAL Old Airport Road**, a weekday evening | |
| time. (Construction reliably yields HIGH manpower + closure-likely + chronic-hotspot | |
| flag β a strong, story-friendly result.) | |
| - [ ] Have a **second event** ready (e.g. `pot_holes` at J.P. Nagar) if you want a contrast. | |
| - [ ] Map tab pre-loaded once so tiles are cached. | |
| - [ ] Screenshots/figures ready as cutaways: `reports/figures/*.png`, the architecture | |
| diagram (export the Mermaid from the deck), and a 1-line dataset stat card. | |
| - [ ] Optional: a webcam talking-head bubble in the corner for the intro/outro only. | |
| --- | |
| ## SCENE 1 β HOOK + PROBLEM Β· [TIME 0:00β0:25] | |
| **[SHOW]** Cold open on the **dark Map tab** of the live app, slowly zoomed on Bengaluru with | |
| hotspot markers glowing. (Don't show the title card yet β open on the product.) | |
| **[SAY]** | |
| > "Every day, a city traffic-control room faces the same questions when an event is | |
| > reported: do we close this road? Divert traffic? How many officers do we send β and how | |
| > long will it tie up the corridor? Today, those calls are made *reactively*, on | |
| > experience. By the time the response is right-sized, the jam has already spread." | |
| **[TEXT]** (lower third, fades in/out) | |
| - "Bengaluru Β· 8,000+ road events" | |
| - "The decisions are reactive. The data could make them predictive." | |
| **[TIME]** 25s | |
| --- | |
| ## SCENE 2 β THE SOLUTION (title beat) Β· [TIME 0:25β0:45] | |
| **[SHOW]** Quick, clean **title card**: "Gridlock β forecast the impact, pre-position the | |
| response." Then cut to the **Predict tab** empty form. | |
| **[SAY]** | |
| > "This is **Gridlock**. The moment an event is reported, it forecasts four things β and | |
| > turns each one into a concrete action: a manpower level, a closure-and-diversion call, a | |
| > clearance time, and an early warning for spots that keep reoffending. Let me show you." | |
| **[TEXT]** | |
| - "Gridlock" | |
| - "4 forecasts β 4 decisions, in one click" | |
| **[TIME]** 20s | |
| --- | |
| ## SCENE 3 β LIVE PREDICTION (the core demo) Β· [TIME 0:45β1:35] | |
| **[SHOW]** The **Predict** form. Pick a **police station** from the dropdown β the map pin and | |
| coordinates **auto-fill** (call this out β it's a nice touch). Set `event_cause = construction`, | |
| event type, a weekday-evening start time, a short description ("Metro construction, lane | |
| blocked"). Click **Forecast**. Let the **result panel** render. | |
| **[SAY]** | |
| > "I only enter what's actually known when an event is reported β the location and start | |
| > time are required; everything else just sharpens the forecast. I'll pick a spot on Old | |
| > Airport Road, mark it as construction, and forecast." | |
| > | |
| > *(result appears)* | |
| > | |
| > "Instantly, Gridlock returns a **decision panel**, not raw numbers. Up top: the | |
| > recommended **manpower level β HIGH β with a suggested officer count**. Then the | |
| > **closure probability** with an expected-closure badge, the **operational priority**, the | |
| > **clearance time with an 80% confidence band**, and a **chronic-hotspot flag** for this | |
| > location. It even spells out the **barricading and diversion** plan and a one-line | |
| > rationale." | |
| **[TEXT]** (callout arrows on the panel as you mention each) | |
| - "Manpower tier + officers" | |
| - "Closure probability (calibrated)" | |
| - "Duration + 80% interval" | |
| - "Chronic-hotspot flag" | |
| - "Recommended action + rationale" | |
| **[TIME]** 50s | |
| > **Tip:** Hover one **(i) info popover** for half a second so viewers see every metric is | |
| > self-explaining. Don't read it aloud β just let it appear. | |
| --- | |
| ## SCENE 4 β WHY IT'S TRUSTWORTHY (the differentiator) Β· [TIME 1:35β2:05] | |
| **[SHOW]** Cut to a **half-screen**: keep the result panel on one side; on the other, drop a | |
| simple **"leakage caught" caption card** (a static graphic you make), e.g.: | |
| "Strongest raw predictor scored AP β 0.98 β it was the *answer leaking in* β deleted on | |
| purpose." Optionally flash the architecture diagram briefly. | |
| **[SAY]** | |
| > "Here's what makes this more than a hackathon model. The dataset shipped with **no impact | |
| > label** β we engineered all four targets ourselves. And it was full of **leakage**: the | |
| > single strongest predictor of a closure was a feature that only exists *because* the | |
| > closure already happened. We **deleted our most powerful feature on purpose** β because | |
| > using it would be cheating. Every feature Gridlock uses is **causal**: each event only | |
| > ever sees events reported *before* it." | |
| **[TEXT]** | |
| - "No label existed β we engineered 4 targets" | |
| - "Deleted our strongest feature β it was leakage" | |
| - "Every feature is causal Β· train on the past, test on the future" | |
| **[TIME]** 30s | |
| --- | |
| ## SCENE 5 β THE MAP (city-scale intelligence) Β· [TIME 2:05β2:35] | |
| **[SHOW]** Switch to the **Map tab**. Click through the four views: **Congestion β Chronic | |
| hotspots β Closure risk β Manpower load**. Hover one station marker so the **stat popup** | |
| shows. Linger on **Chronic hotspots** (the ~110 m cells) since it's your unique model. | |
| **[SAY]** | |
| > "Zooming out, the same engine powers a city-wide view. Toggle between **congestion | |
| > density**, **chronic hotspots** β the ~110-metre spots likely to reoffend β **closure | |
| > risk**, and **predicted manpower load**. This is the difference-maker: instead of | |
| > repeatedly patrolling the same junction, the control room sees exactly where to send a | |
| > **permanent fix** β drainage, resurfacing, a marshal." | |
| **[TEXT]** | |
| - "4 city views: Congestion Β· Hotspots Β· Closure Β· Manpower" | |
| - "Chronic hotspots β fix the spot, don't re-patrol it" | |
| **[TIME]** 30s | |
| --- | |
| ## SCENE 6 β TOP AREAS + MODELS (proof) Β· [TIME 2:35β3:05] | |
| **[SHOW]** Quick cut to **Top Areas** β click a column header to **sort** (e.g. by risk or | |
| closure rate) so the re-sort animates. Then a fast cut to the **Models** tab: scroll past | |
| the **PR / calibration / SHAP** charts and the **operating-points** table. Keep this snappy β | |
| it's a montage, not a walkthrough. | |
| **[SAY]** | |
| > "Every police-station area is ranked and fully sortable, so commanders can find the worst | |
| > corridors in two clicks. And we don't ask anyone to take our word for it β the **Models** | |
| > tab is the evidence: precision-recall and **calibration** curves, feature importance, and | |
| > the **operating points** that let you dial risk posture up for a VIP day, or down for | |
| > routine ops. Same model, different stance." | |
| **[TEXT]** | |
| - "Every area ranked Β· fully sortable" | |
| - "Calibrated, explainable, policy-aware" | |
| **[TIME]** 30s | |
| > **If running long:** cut the Top Areas beat and keep only a 6-second Models montage. | |
| --- | |
| ## SCENE 7 β CLOSE (impact + it's live) Β· [TIME 3:05β3:30] | |
| **[SHOW]** Pull back to the **Predict result panel** or the dark Map. End card with the | |
| **live URL / QR code** and the tagline. | |
| **[SAY]** | |
| > "Gridlock turns a messy, unlabeled event log into foresight a control room can act on β | |
| > calibrated, honest, and already **deployed live**, running on CPU with no GPU bill. It | |
| > doesn't just predict traffic. It tells a city where to stand **before** the jam forms." | |
| **[TEXT]** | |
| - "Live now β <your Hugging Face Spaces URL>" (add a QR code) | |
| - "Gridlock Β· forecast the impact, pre-position the response" | |
| **[TIME]** 25s | |
| --- | |
| ## FIGURES & CUTAWAYS TO PREPARE (referenced above) | |
| | Cutaway | Where it's used | Source | | |
| |---|---|---| | |
| | Dark Map screen-capture (intro) | Scene 1, 7 | live app, Map tab | | |
| | Title card | Scene 2 | make in deck/Canva | | |
| | Predict result panel (with callout arrows) | Scene 3 | live app + annotate in editor | | |
| | "Leakage caught" caption card | Scene 4 | static graphic (1 line of text) | | |
| | Architecture diagram (brief flash) | Scene 4 | export Mermaid from the deck (mermaid.live) | | |
| | PR / calibration / SHAP plots | Scene 6 | `reports/figures/*.png` | | |
| | End card + QR to live URL | Scene 7 | make in deck/Canva | | |
| --- | |
| ## TIMING SUMMARY | |
| | Scene | Beat | Length | Cumulative | | |
| |---|---|---|---| | |
| | 1 | Hook + problem | 0:25 | 0:25 | | |
| | 2 | Solution / title | 0:20 | 0:45 | | |
| | 3 | Live prediction | 0:50 | 1:35 | | |
| | 4 | Why it's trustworthy | 0:30 | 2:05 | | |
| | 5 | Map | 0:30 | 2:35 | | |
| | 6 | Top Areas + Models | 0:30 | 3:05 | | |
| | 7 | Close | 0:25 | 3:30 | | |
| **Word budget:** ~520β540 spoken words total at ~150 wpm β 3:30. If you narrate faster | |
| (~165 wpm) you'll land closer to 3:00, leaving room for silent UI beats. | |
| --- | |
| ## DELIVERY TIPS | |
| - **Pre-fill and rehearse the Predict form** off-camera; on camera just pick the station and | |
| click Forecast so there's no dead typing time. | |
| - **Cut on motion** β switch scenes right as a panel renders or a sort animates; it keeps pace. | |
| - **Narrate decisions, not clicks.** Say "the recommended manpower is HIGH," never "I click | |
| the predict button." | |
| - **Captions on:** many judges watch muted first β the **[TEXT]** lines carry the story alone. | |
| - **One impressive result > three mediocre ones.** Lock the construction event so the demo is | |
| repeatable and always lands HIGH/closure/hotspot. | |
| - **End on the live URL/QR** and hold it for 3 seconds so judges can open it themselves. | |