Skip to content

🚨 Demo Backup Plan - Failure Recovery Guide

🚨 Demo Backup Plan - Failure Recovery Guide

Section titled “🚨 Demo Backup Plan - Failure Recovery Guide”

Print this and keep it visible during demo



Symptoms: White screen, connection refused, or infinite loading

Immediate Fix:

Terminal window
# Option A: Restart frontend
cd frontend && npm run dev
# Option B: Use Railway deployment
# Open browser: https://frontend-production-55e3.up.railway.app

Talking Point: “Let me show you our cloud deployment on Railway instead - same platform, production environment”


2. Backend API Not Responding (localhost:8000)

Section titled “2. Backend API Not Responding (localhost:8000)”

Symptoms: 500 errors, “Failed to fetch” messages

Immediate Fix:

Terminal window
# Option A: Restart backend
cd backend && uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Option B: Show API docs offline
# Navigate to: /Users/nhla/Desktop/PROJECTS/2025/mathew-goniwe/docs/

Talking Point: “The backend is running robustly in production - let me show you the API documentation and architecture instead”


Symptoms: “Invalid password” or stuck at login screen

Immediate Fixes:

  1. Clear browser cache: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
  2. Try password again: mgslg2025
  3. Use incognito window: Cmd+Shift+N

Last Resort:

Talking Point: “Authentication is working - let me refresh the session”


Symptoms: Error message, no download, or corrupted file

Immediate Fix:

  • Open pre-saved PDF from: /Users/nhla/Desktop/PROJECTS/2025/mathew-goniwe/DEMO_ASSETS/sample_executive_summary.pdf

Talking Point: “Here’s a sample report I generated earlier today with the same data”

Preventive:

  • Generate and save PDF before demo
  • Test download button 30 minutes before

Symptoms: Empty dashboards, “0 participants”, query errors

Immediate Check:

Terminal window
# Verify database
cd backend
python3 -c "from app.core.database import engine; print('DB OK')"

Immediate Fix:

8000/api/dashboard-mock/kpis
# Worst case: Use mock data endpoints

Talking Point: “Our fallback systems ensure continuous operation - let me show you the mock data mode”


Symptoms: Broken charts, empty visualizations

Immediate Fix:

  1. Refresh page: F5 or Cmd+R
  2. Check console: F12 → Console tab (look for errors)
  3. Use screenshots: /DEMO_ASSETS/screenshots/

Talking Point: “Let me show you these visualizations I prepared earlier”


Symptoms: Long loading times, timeout errors

Immediate Fix:

  1. Switch to localhost: If using Railway, switch to local
  2. Use screenshots: Navigate to backup folder
  3. Show architecture: Discuss technical design while waiting

Talking Point: “While this loads, let me walk you through the technical architecture that ensures sub-200ms response times in production”


Symptoms: Dropdown doesn’t filter, data doesn’t update

Immediate Fix:

  1. Refresh page: Clear filters and try again
  2. Show different demo section: Skip to ML analytics

Talking Point: “Let me show you the predictive analytics instead - equally impressive”


Create this folder structure before demo:

/Users/nhla/Desktop/DEMO_ASSETS/
├── screenshots/
│ ├── 01_login.png
│ ├── 02_main_dashboard.png
│ ├── 03_interactive_analytics.png
│ ├── 04_ml_predictions.png
│ ├── 05_geographic_filtering.png
│ └── 06_api_docs.png
├── videos/
│ └── full_demo_walkthrough.mp4 (optional)
├── reports/
│ └── sample_executive_summary.pdf
└── presentation/
└── backup_slides.pptx

  • Login → Main Dashboard → Download PDF → Interactive Analytics
  • ML Predictions → District Filtering → API Docs
  • Database Architecture → Performance Metrics → Scalability

If Priority 1 fails, pivot to Priority 2. If that fails, pivot to Priority 3.


“Looks like we’re experiencing a momentary network issue - let me show you [backup]. This actually demonstrates why we build redundancy into production systems.”

“I apologize for this technical hiccup. The good news is, this gives me a chance to show you our backup systems and talk through the architecture.”

“While this loads, let me share something even more impressive - [show alternative feature]“

“In production, we have automatic failover and retry logic. Let me demonstrate our monitoring dashboard instead.”


  • Don’t panic: You have 10-12 minutes planned
  • Quick recovery: Spend max 30 seconds troubleshooting
  • Pivot fast: If 30 seconds doesn’t fix it, move to backup
  • Stay confident: Technical glitches happen; recovery shows professionalism

  • Stakeholders still engaged (eye contact, nodding)
  • Demo pace appropriate (not too fast/slow)
  • Technical features working
  • Time remaining
  1. Ask a question: “What’s most important for your workflow?”
  2. Show something interactive: “Try filtering by your region”
  3. Relate to their pain: “I know manual reporting takes hours - watch this”

  1. Open frontend: http://localhost:3000
  2. Login with: mgslg2025
  3. Verify dashboard loads (4 KPIs visible)
  4. Download PDF successfully
  5. Navigate to /dashboard
  6. Filter by Gauteng → verify 679 participants
  7. Select district → verify filtering works
  8. Navigate to /ml-analytics
  9. Verify predictions load
  10. Open API docs: http://localhost:8000/docs
  11. Make test API call

If ANY step fails, investigate and fix BEFORE demo starts


Terminal window
# Restart everything
cd /Users/nhla/Desktop/PROJECTS/2025/mathew-goniwe
cd backend && uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 &
cd frontend && npm run dev &
# Check backend health
curl http://localhost:8000/api/health
# Check frontend
open http://localhost:3000
# Emergency database check
cd backend && python3 -m app.core.database
# Kill all processes if needed
killall node python3 uvicorn

  1. You built working software - that’s 90% of the battle
  2. Failures are opportunities to show problem-solving
  3. Stakeholders are human - they understand glitches
  4. You have backups - you’re prepared
  5. Confidence is key - you know this system inside out

Great! You prepared well.

Even better! You handled pressure gracefully and demonstrated recovery.


If demo had significant failures:

Subject: MGSLG Analytics Demo - Follow-Up
Dear [Stakeholder],
Thank you for your time today. I apologize for the [specific issue] during the demonstration. I've identified the cause (network latency) and wanted to share:
1. Video recording of full demo working perfectly: [link]
2. Sample executive summary PDF: [attached]
3. Access to staging environment for your team to explore: [link]
The platform you saw represents 60% of development work already complete. I'm confident in our ability to deliver a production-ready system in 8 weeks.
Available for any questions or a follow-up demo.
Best regards,
[Your Name]

  • Stakeholders saw working software (even partially)
  • You maintained composure during issues
  • You demonstrated technical competence
  • You differentiated from competitors
  • You secured next steps (meeting, proposal request)

A perfect demo is impressive. A flawed demo recovered gracefully is memorable.


Printed on: [Demo Date] Keep this visible during entire presentation

🚀 You’ve got this. Failures are expected. Recovery is what matters.