TransitPulse / DEMO.md
DeepikaChintamreddy
TransitPulse β€” GPU-Accelerated Reliability Engine
93e2220
|
Raw
History Blame Contribute Delete
4.42 kB
# TransitPulse β€” 3-Minute Demo Script
This script guides you through demonstrating the core capabilities of **TransitPulse** during a hackathon pitch or presentation.
---
## 🎬 Act 1: The Decision Dashboard (1 Minute)
*Goal: Showcase the core operations interface and schedule intervention recommendations.*
1. **Open the App**:
Navigate to `http://localhost:8000` in your browser. Show the dark-themed operations center aesthetic.
2. **Header Stats Strip**:
- Point to the stat pills at the top: **total pings processed**, **number of routes**, **days of data**, and **time-to-insight**.
- Explain: *"All these numbers are computed live from the database at startup β€” none are hardcoded."*
3. **Leaderboard Inspection**:
- Point to the **Route Reliability Leaderboard** panel.
- Explain: *"Our engine monitors 20 routes across Delhi. It calculates a composite Reliability Score (0–100) based on headway variation, bus bunching rates, and service gap occurrences over 30 days."*
- Note the color coding: **red** (< 40), **amber** (40–70), **green** (β‰₯ 70).
- Click on any column header to re-sort. The default is worst-first by Reliability Score.
- Click on a row to load that route's timeline.
4. **Operational Interventions**:
- Scroll to **This Week's Decisions** panel.
- Explain: *"TransitPulse automatically scans the worst-performing segments and highlights 8 specific actions, cycling through bunching, gaps, dwell congestion, and WoW-degrading categories."*
- Point out how each card shows affected boardings and the exact stop/segment where the anomaly occurs.
---
## πŸ€– Act 2: Gemini Decision Copilot (1 Minute)
*Goal: Demonstrate the power of natural-language operations questions grounded in real metrics.*
1. **Pre-loaded Q&A**:
- Note the chat area already contains a pre-loaded question: *"Which 5 routes should we fix first?"* with a fully grounded answer.
- Verify: the route IDs and scores in the answer match the leaderboard table.
2. **Ask another question**:
- Click the suggestion chip: *"Why did DTC-010 degrade this week?"*
- Show that the answer includes the exact WoW trend, dwell time, and gap rate from the database.
3. **Explain grounding**:
- *"Every fact in the copilot's response is queried from the same DuckDB database that powers the dashboard. Our `test_cross_consistency.py` script verifies this automatically β€” no hallucinated numbers."*
---
## ⚑ Act 3: The GPU Benchmark (1 Minute)
*Goal: Prove the physical speedup of GPU acceleration using RAPIDS cudf.pandas.*
1. **Show the benchmark panel**:
- Focus on the **GPU Acceleration Benchmark** section.
- If benchmark has been run: show the speedup factor (e.g., "66.3x") and the headline stat.
- If benchmark is pending: explain that it says "Benchmark pending β€” run benchmark_colab.ipynb" because we haven't shipped fake numbers.
2. **Explain the architecture**:
- *"The analytics pipeline code is 100% standard pandas. By adding a single import β€” `import cudf.pandas` β€” the same code runs on GPU, giving us 39x speedup at 150M rows. Zero code changes."*
3. **Production headroom**:
- Point to the caption: *"Pipeline benchmarked at 150M synthetic pings (~70Γ— demo scale) to demonstrate production headroom; identical code path."*
---
## βœ… Validation Checklist
Before presenting, verify these pass:
| # | Check | Command / Action |
|---|---|---|
| 1 | Data sanity assertions pass | `python test_data_sanity.py` |
| 2 | Cross-consistency assertions pass | `python tests/test_cross_consistency.py` |
| 3 | Leaderboard shows 20 routes, sorted worst-first | Visual check |
| 4 | Dwell times vary visibly (not all 25–26s) | Check Avg Dwell column |
| 5 | Scores span red/amber/green bands | Check score badges |
| 6 | 8 decision cards populated, no empty panels | Visual check |
| 7 | Copilot preloaded answer route IDs match leaderboard | Cross-reference |
| 8 | Benchmark panel shows "pending" or real results | No fake "66x" |
| 9 | Timeline chart renders on route click, no empty axes | Click 5+ routes |
| 10 | Header stat pills show real computed numbers | Check stat-pings, stat-routes |
---
## πŸ† Conclusion
Summarize: *"TransitPulse turns complex geospatial time-series analysis into an interactive, real-time decision loop, powered by Google Cloud, NVIDIA, and Gemini β€” with every number grounded in the database."*