Safety-first navigation for everyone
An Android app that helps you walk safer with real-time safety scores, hazard reporting, and emergency SOS.
WalkMe is a personal safety navigation Android app designed to help users — especially women and solo walkers — make smarter decisions about their routes. It provides real-time area safety scores, lets users report hazards, plan safe routes, and send emergency SOS alerts to trusted contacts.
- Real-time Google Maps integration
- Tap any area to instantly get its Safety Score (0–100)
- Color-coded zones: ✅ Safe ·
⚠️ Moderate · 🚨 High Risk - Safety factors: Lighting, Crowd density, Nearby shops, Reported hazards
- Heatmap overlay showing safe/unsafe zones
- Time-of-day awareness (scores change between day and night)
- Weather selector (Clear ☀️ / Rain 🌧️ / Fog 🌫️ / Storm ⛈️)
- One-tap SOS button that triggers an alarm
- Automatically sends your GPS location via SMS to all emergency contacts
- Manage emergency contacts (Add / Edit / Delete)
- Customizable SOS message
- Plan routes with safety in mind
- View safety info for route stops
- Report hazards at your current location
- Community upvote / downvote system to confirm or dismiss reports
- Hazards stored in Firebase Firestore in real-time
| Layer | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 |
| Navigation | Jetpack Navigation Compose |
| Maps | Google Maps SDK + Maps Compose |
| Location | Google Play Services Location |
| Backend | Firebase Firestore + Firebase Auth |
| Architecture | MVVM (ViewModel + StateFlow) |
| Min SDK | 24 (Android 7.0) |
| Target SDK | 36 |
app/src/main/java/com/example/ananya/
├── MainActivity.kt # Entry point + splash screen
├── data/
│ ├── model/ # Hazard, RouteStop, SafetyInfo models
│ └── repository/ # HazardRepository, MockSafetyData
├── ui/
│ ├── components/ # EmergencyButton, HazardReportSheet, SafetyScoreCard, RouteSummaryCard
│ ├── navigation/ # App navigation graph
│ ├── screens/ # MapScreen, EmergencyScreen, RoutePlannerScreen
│ └── theme/ # Colors, Typography, Theme
├── util/ # EmergencyHelper, LocationHelper, RouteOptimizer, SafetyCalculator, VoiceAlertHelper
└── viewmodel/ # MapViewModel, RouteViewModel
- Android Studio Hedgehog or later
- Google Maps API Key
- Firebase project (Firestore + Authentication enabled)
-
Clone the repo
git clone https://github.com/Ananyaaa-K/WalkMe.git cd WalkMe -
Add your Google Maps API Key
In
local.properties:MAPS_API_KEY=your_api_key_here -
Add Firebase config
Place your
google-services.jsoninsideapp/ -
Build & Run
Open in Android Studio and run on an emulator or physical device.
| Permission | Reason |
|---|---|
ACCESS_FINE_LOCATION |
Show your location on the map |
ACCESS_COARSE_LOCATION |
Fallback location |
SEND_SMS |
Send SOS alerts to emergency contacts |
Pull requests are welcome! For major changes, please open an issue first.
Ananya — @Ananyaaa-K
Made with ❤️ for safer streets