SafeGo is a safety-first mobile application that provides real-time emergency support for travelers, helping them stay protected by automating SOS alerts, tracking responsiveness, and giving quick access to emergency contacts and services based on their location.
SafeGo is an emergency safety and responsiveness tracking app specifically designed for travelers, especially those visiting unfamiliar regions or countries. The app ensures that users are never truly alone during emergencies by leveraging real-time location tracking, local emergency services data, and personalized SOS alerts. Users can configure automatic "Are you safe?" alerts at custom intervals to check in on their safetyβif unresponsive, the app logs the incident as an alert and can notify saved trusted contacts.
Built with a focus on simplicity and reliability, SafeGo eliminates the need for manual help-seeking during critical moments by automating emergency responses like sending location-based SMS alerts. It also helps users stay connected by maintaining a directory of local emergency services based on their country and location. With passwordless login via Supabase, minimal setup, and robust background services, SafeGo offers a practical, real-world solution to the increasing need for safety tools during travel or solo commutes. It aims to bring peace of mind to users and their families by ensuring help is just a clickβor lack of responseβaway.
- Seamless login using email-based magic links powered by Supabase.
- No need to remember passwords β secure and user-friendly.
- Continuously fetches the user's live GPS location.
- Displays country-specific emergency services such as:
- π Police
- π Fire Station
- π Ambulance
- Automatically fetches and displays regional emergency services based on location.
- Allows quick direct contact in case of emergency.
- Users can add and manage trusted family and friends as personal emergency contacts.
- Contact data is securely stored in Supabase and used in alerts.
- Instantly sends an SOS with:
- User's current location
- Reason for alert
- Timestamp
- Sends alerts to:
- Personal emergency contacts (via SMS)
- Displays local emergency services nearby
- Periodically prompts the user: βAre you safe?β
- If the user doesn't respond within 2 minutes:
- Automatically logs an Unresponsive Alert in the alert history
- Displays it with yellow severity, indicating concern
- User can enable or disable periodic responsiveness checks.
- Choose interval: 2 mins, 1 hr, 2 hrs, or 4 hrs.
- Runs in the background even if the app is closed.
| Layer | Technologies Used |
|---|---|
| π» App Framework | Flutter |
| π Auth & Database | Supabase (email magic links, PostgreSQL) |
| π Location Services | Geolocator, Geocoding, Google Maps API |
| π Notifications | flutter_local_notifications |
| π Background Tasks | WorkManager |
| π¦ Local Storage | shared_preferences, flutter_secure_storage |
| π SMS Integration | Telephony Plugin |
| π§ Time Utils | intl, timezone packages |
- On login, user is authenticated using Supabase email magic link.
- Live GPS fetches the user's location and current country.
- User can maintain a profile by adding family or trusted contacts.
- In case of emergency, automatic SMS alerts are sent to these saved contacts.
- Nearby emergency services (police, ambulance, fire) are displayed based on location.
- User can send a manual SOS or receive periodic βAre you safe?β alert prompts.
- If user doesnβt respond within 2 minutes:
- An auto SOS is triggered.
- An "Unresponsive" alert is logged with yellow severity.
- Alert history is maintained for review and safety tracking.
- Built for solo travelers, tourists, or emergency-prone situations.
- Ensures safety even when the app is minimized or user is inactive.
- Lightweight, user-friendly, and privacy-conscious design.
- Flutter SDK (β₯ 3.7.0)
- Dart SDK
- Android Studio or Visual Studio Code (with Flutter plugin)
- Android Emulator or physical device
flutter pub get
flutter runnpm install @supabase/supabase-js express cors body-parser
Supabase handles most backend operations (auth, DB). This backend is optional for additional tasks like email/SMS alerts or testing.
- Node.js (v18+ recommended)
- Supabase project (with API keys)
- Gmail SMTP / Email service (for testing)
npm install node-fetch node-cron dotenv
npm install @supabase/supabase-js express cors body-parser nodemailersupabaseβ Passwordless auth, DB operationsflutter_local_notificationsβ Alert popupsworkmanagerβ Background task executiongeolocator&geocodingβ Live location and addresspermission_handlerβ Location/SMS permission handlingflutter_secure_storageβ Store session/token securelyshared_preferencesβ Store user toggles/settingshttpβ API requestsintlβ Date/time formattingpath,path_providerβ File operationsurl_launcherβ Open Google Maps links or dial numbersjwt_decoderβ Supabase token decodingtelephonyβ Send SMS (for Android devices)image_pickerβ Select profile images (if used)mimeβ File type handling



