Fully offline cycling navigation for Android. Maps, turn-by-turn routing, ride recording, GPX export — no accounts, no ads, no internet required after setup.
My Cycle Mania is a passion project built for cyclists who want a clean, no-nonsense offline navigation and ride recording app. No Google Maps, no cloud, no data plan required once you've downloaded your region.
| Feature | Details |
|---|---|
| Offline maps | OpenStreetMap tiles downloaded to your device |
| Turn-by-turn navigation | GraphHopper bicycle routing, fully on-device |
| Voice guidance | Announces street names, distances, and turns |
| Waypoint planning | Long-press to drop waypoints, see distance + time |
| Ride recording | GPS track in background, survives screen-off |
| Live stats | Distance, duration, speed while riding |
| Elevation tracking | Gain tracked throughout the ride |
| GPX export | Auto-saved after every ride |
| Ride summary | Stats + map thumbnail + gallery screenshot |
| Cycle map | CyclOSM overlay showing bike lanes and trails |
| Terrain overlay | OpenTopoMap contour layer |
| Routing modes | Fastest / Balanced / Safest |
(coming soon)
My Cycle Mania is fully offline. Before your first ride you need to download two things — both can be done at home on Wi-Fi.
In the app: menu → Download Map Tiles
Select your region. For Eastern PA this is roughly 30 MB. The tiles are the visual map you see on screen.
In the app: menu → Download Routing Data
Select your state. Pennsylvania is ~120 MB. This is the OpenStreetMap road network file (.pbf) that GraphHopper uses to calculate routes.
After the routing data downloads, the app builds a routing index on your device. You'll see a notification: "Building routing index…"
This takes a few minutes the first time — GraphHopper is processing the entire road network for your state and saving it in an optimized format. This only happens once. You'll get a notification when it's done: "My Cycle Mania is ready!"
After that, every route calculation is instant.
- Android 13 (API 33) or higher
- ~500 MB free storage for tiles + routing data (varies by region)
- Wi-Fi for the one-time downloads
| Library | Purpose |
|---|---|
| OSMDroid | Offline OpenStreetMap tile rendering |
| GraphHopper | Offline bicycle routing engine |
| Google Play Services Location | GPS / FusedLocationProvider |
| OSMBonusPack | Route overlay helpers |
Map data © OpenStreetMap contributors
git clone https://github.com/chengmania/MyCycleMania.git
cd MyCycleMania
./gradlew assembleDebugRequires Android Studio or the Android SDK command-line tools. The Java toolchain is configured in gradle.properties — update org.gradle.java.home to point to your local JDK if needed.
compileSdk 36
targetSdk 34
minSdk 33
Language Kotlin
Build Gradle (Kotlin DSL)
My Cycle Mania collects no personal data. GPS stays on your device. Ride files stay on your device. No analytics, no crash reporting, no tracking.
Full privacy policy: PRIVACY_POLICY.txt
Bug reports and pull requests are welcome. Open an issue first for anything significant so we can discuss the approach.
Please keep the spirit of the project intact:
- No internet required for core features
- No accounts or login
- No ads or tracking
- No Jetpack Compose (standard XML layouts)
MIT — see LICENSE
Copyright (c) 2026 KC3SMW
If this app has made a ride more fun, consider buying the developer a coffee. Available inside the app via Google Play, or open an issue if you just want to say thanks.
Built by KC3SMW — ride safe, obey traffic laws, enjoy the road.