ASD Screening WhatsApp Bot

Smiles for Speech Track

Inspiration

Early autism screening is often inaccessible in underserved communities due to limited resources, cultural stigma, and geographic barriers. Working with Smiles for Speech’s mission in Ghana inspired us to build a lightweight tool that meets caregivers where they already are—on WhatsApp—to help identify developmental concerns as early as possible.

What it does

  • Guides caregivers through a 5-question M-CHAT–style screening via WhatsApp
  • Records each “yes/no” response (reply with 1 or 2) in a local JSON file
  • Provides an immediate summary and next-step recommendations (e.g., call a clinic)
  • Exposes an /admin dashboard to view all completed screenings

How we built it

  • Backend: Node.js + Express
  • Messaging: Twilio WhatsApp Sandbox + ngrok for local webhooks
  • Flow: In-memory session store, numbered-menu questions, global commands (SCREEN, HELP, CLINIC, STOP)
  • Persistence: Append JSON entries to results.json and render via a simple HTML table
  • UI: Numbered menus (1️⃣/2️⃣) to work around sandbox button limits

Challenges we ran into

  • Rate limits: Twilio WhatsApp Sandbox caps outbound messages, forcing us to optimize and consider fallbacks
  • Interactive buttons: Sandbox doesn’t support quick-reply buttons, so we switched to numeric menus
  • Session edge cases: Handling “STOP,” re-joins, and stray inputs required robust state management
  • Emoji normalization: Mapping both “1”/“2” and “1️⃣”/“2️⃣” replies into yes/no

Accomplishments that we're proud of

  • 16-hour MVP: A fully functioning screening flow from “SCREEN” to summary
  • Data-driven demo: Persisted real test data and built an admin view in under two hours
  • Clear UX: Designed a minimal menu and summary that’s easy for non-technical users
  • Scalable structure: Questions and clinics are now driven by code-backed JSON for rapid iteration

What we learned

  • Rapid prototyping with Twilio and Express can yield production-ready flows in hours
  • Always account for edge cases in conversational state (timeouts, unsubscribes, invalid input)
  • In resource-constrained environments, simplicity (numbered menus) trumps fancy features
  • An admin dashboard—however basic—instills confidence and shows impact

What's next for ASD Screening WhatsApp Bot

  • Full M-CHAT: Load all 20 screening items from a JSON file
  • Multi-child profiles: Allow caregivers to track multiple children in one thread
  • Resource library: Integrate educational content and support-group links via a RESOURCES command
  • Localization: Add Twi or other local languages for prompts
  • Production rollout: Move from Sandbox to a WhatsApp Business number, secure compliance (GDPR/HIPAA), and deploy on a cloud host

Built With

Share this project:

Updates