A Flutter app that alerts you when you’re approaching your bus stop or destination.
See the code
A smart, privacy-first proximity alarm Flutter app that wakes you up before reaching your bus stop.
Get Busnap on Android directly from Google Play: 👉 Download on Google Play
busnap/
├── lib/
│ ├── main.dart # App entry, theme
│ ├── home_page.dart # Main screen (search + journey)
│ ├── alarm_settings_screen.dart # Custom alarm sound picker
│ └── services/
│ ├── background_location_service.dart # Background GPS tracking
│ ├── connectivity_service.dart # Internet check + dialog
│ ├── distance_service.dart # OpenStreetMap routing services
│ └── place_search_service.dart # Nominatim place search
├── assets/
│ ├── alarm.mp3 # Default alarm sound
│ └── logo.png # App icon
└── website/ # Official Landing Page (Vue 3 + Vite)
├── src/ # Single File Components & Simulator
└── public/ # Website assets
flutter pub get
flutter run
Requires an Android device (Android 8.0+) or emulator with location services enabled.
The official landing page is built with Vue 3 (Composition API), Vite, TypeScript, and Tailwind CSS in the website/ directory:
cd website
npm install
npm run dev
To build for Cloudflare Pages:
npm run build
ACCESS_FINE_LOCATION — Precise GPS tracking during active journeysACCESS_BACKGROUND_LOCATION — Proximity tracking while the screen is lockedFOREGROUND_SERVICE — Persistent background tracking servicePOST_NOTIFICATIONS — Proximity notifications (Android 13+)Busnap does not collect, sell, or upload your location data. Recent destinations and alarm sound choices are stored locally on your device. During a journey, distance calculations are performed locally on your phone.
Amjad P A
This project is open source and licensed under the MIT License.
8 commits
Dart
44.7%
Vue
43.0%
Kotlin
6.9%
HTML
1.9%
TypeScript
1.6%
CSS
1.4%
A Flutter app that alerts you when you’re approaching your bus stop or destination.
See the code
A smart, privacy-first proximity alarm Flutter app that wakes you up before reaching your bus stop.
Get Busnap on Android directly from Google Play: 👉 Download on Google Play
busnap/
├── lib/
│ ├── main.dart # App entry, theme
│ ├── home_page.dart # Main screen (search + journey)
│ ├── alarm_settings_screen.dart # Custom alarm sound picker
│ └── services/
│ ├── background_location_service.dart # Background GPS tracking
│ ├── connectivity_service.dart # Internet check + dialog
│ ├── distance_service.dart # OpenStreetMap routing services
│ └── place_search_service.dart # Nominatim place search
├── assets/
│ ├── alarm.mp3 # Default alarm sound
│ └── logo.png # App icon
└── website/ # Official Landing Page (Vue 3 + Vite)
├── src/ # Single File Components & Simulator
└── public/ # Website assets
flutter pub get
flutter run
Requires an Android device (Android 8.0+) or emulator with location services enabled.
The official landing page is built with Vue 3 (Composition API), Vite, TypeScript, and Tailwind CSS in the website/ directory:
cd website
npm install
npm run dev
To build for Cloudflare Pages:
npm run build
ACCESS_FINE_LOCATION — Precise GPS tracking during active journeysACCESS_BACKGROUND_LOCATION — Proximity tracking while the screen is lockedFOREGROUND_SERVICE — Persistent background tracking servicePOST_NOTIFICATIONS — Proximity notifications (Android 13+)Busnap does not collect, sell, or upload your location data. Recent destinations and alarm sound choices are stored locally on your device. During a journey, distance calculations are performed locally on your phone.
Amjad P A
This project is open source and licensed under the MIT License.
8 commits
Dart
44.7%
Vue
43.0%
Kotlin
6.9%
HTML
1.9%
TypeScript
1.6%
CSS
1.4%