Inspiration
Traveling often comes with the risk of missing your stop, especially when you’re tired, asleep, or distracted by your phone. Whether it’s a late-night bus ride or a daily train commute, I’ve personally experienced the stress of overshooting my destination. Asking others to wake me up isn’t always reliable. That’s why I built NapSafe — a smarter, dependable solution to wake you exactly when you need it.
What it does
NapSafe is a precision location-based alarm system designed to keep travelers alert. The app allows users to:
- Select any destination directly on an interactive map
- Set a customizable radius around the destination using an intuitive slider
- Choose preferred alert types — Loud Alarm, Vibration, or Silent Notifications
- Save favorite destinations with personalized names like Home, Office, Gym
- Run quietly in the background while monitoring location with minimal battery usage
- Support multiple active alerts simultaneously
It provides peace of mind to commuters, long-distance travelers, or anyone who naps during transit.
How we built it
Tech Stack
- Kotlin + Jetpack Compose — Built entirely in modern Kotlin using Compose for responsive, scalable UI
- Google Maps SDK — Enables real-time location visualization and smooth map interaction
- Location Tracking — Adjusts update frequency dynamically based on travel speed and battery levels
- Background Service Architecture — Uses WorkManager and Foreground Services to ensure reliable alerts even with Doze Mode or background restrictions
- Room Database — Stores user preferences, saved locations, and alert configurations
Challenges we ran into
- Achieving consistent, battery-friendly location updates with modern Android restrictions
- Balancing location accuracy with system performance, especially in areas with weak GPS signals
- Designing a smooth, user-friendly map interface with minimal code complexity
- Ensuring alarms trigger reliably under different conditions like Doze Mode, backgrounded apps, or locked devices
Accomplishments that we're proud of
- Built a fully responsive mobile app with minimal boilerplate using Jetpack Compose
- Achieved efficient background location tracking with low battery impact
- Delivered a customizable alarm system for diverse user needs
- Developed a polished, user-friendly interface using Compose
- Successfully tested NapSafe across real-world transit scenarios
What we learned
- Deep understanding of Android’s location APIs, WorkManager, and lifecycle handling
- Experience managing strict background limitations on different devices
- Optimizing UI composition to reduce performance bottlenecks
- Rapid iteration of design and functionality based on real-world feedback
What's next for NapSafe
- iOS Version — Bringing NapSafe to iPhone users
- Wearable Alerts — Smartwatch integration for discreet, wrist-based notifications
- Smart Alert Suggestions — Auto-suggest optimal alert radius based on travel mode (walking, train, bus)
- Transit Integration — Automatic stop detection using real-time transit route APIs
- Battery Optimization — Further improvements for smarter background resource management
- Voice Commands — Quick alarm setup through hands-free voice input
Built With
- java
- kotlin
Log in or sign up for Devpost to join the conversation.