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

Share this project:

Updates