A hybrid, offline-resilient emergency response application built with Flutter and Python.
RoadSOS ensures that an emergency signal reaches authorities even in complete offline dead zones (no Wi-Fi, no mobile data) by leveraging an intelligent SMS bridge and Twilio AI Voice routing.
- Online Mode: Instantly triggers an AI emergency voice call over the internet.
- Offline Mode: Uses a native Android background SMS bridge to secretly dispatch SOS payloads to a trusted device.
- MacroDroid Integration: The trusted device intercepts the SMS and forwards the payload to the cloud via Webhook.
- Twilio AI Voice: An automated text-to-speech agent calls the user (or emergency services) providing the exact GPS coordinates and emergency category.
- Clone the repository.
- Open the project in Android Studio or VS Code.
- Run
flutter pub getto install dependencies. - IMPORTANT - SENSITIVE DATA SETUP:
- Open
lib/gps/gps_home_page.dart. - Go to Line 287 and Line 296.
- Replace the
+910000000000placeholders with your teammate's actual Indian phone number.
- Open
- Navigate to the
backend/directory. - Install Python dependencies:
pip install -r requirements.txt - IMPORTANT - SENSITIVE DATA SETUP:
- Open
backend/server.py. - Go to Lines 11-13 and replace the placeholders with your actual Twilio Account SID, Auth Token, and Twilio Phone Number.
- Go to Line 16 and replace the
+910000000000placeholder with your verified test phone number.
- Open
- Start the server:
python server.py - Expose the server using localtunnel:
lt --port 5000 --subdomain roadsos-final-demo
- Install MacroDroid.
- Trigger: SMS Received from Any Number containing
SOS| - Action: HTTP Request (POST) to
https://sour-rockets-smoke.loca.lt/incoming-sms - Header:
Bypass-Tunnel-Reminder: true - Body (x-www-form-urlencoded):
Body=[sms_message]andFrom=[sms_number]