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
/admindashboard 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.jsonand 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
RESOURCEScommand - 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
Log in or sign up for Devpost to join the conversation.