Plus WorldBike
A cycling app with a digital garage, service log, leaderboards, and offline maps.
- Type
- Mobile app
- Platforms
- Android, iOS
- Duration
- 4 months
- Stack
- Flutter, Dart, Firebase, sqflite
About the project: A cycling app that works even without signal
Plus WorldBike is a cycling app that brings together a digital garage of bikes, a service log, and distance leaderboards. The goal is to give a rider an overview of their bikes and performance in one place.
I built it in Flutter with a Firebase backend. Offline maps are an essential part, the app has to work where there is no signal, which is common in cycling.
The challenge
The biggest challenge was exactly that offline functionality. Map tiles need to be pre-downloaded and stored locally, but in a way that does not overwhelm the device or the database, which required solving a local-database locking issue.
The solution
I solved it with batched tile pre-downloading and by optimizing access to sqflite, removing the "database locked" errors during bulk map downloads. Service records and leaderboards run on Firebase.
What it does
- Digital garage
An overview of bikes with their service log - Offline maps
Pre-downloaded map tiles that work without signal - Leaderboards
Unified leaderboards of distance and performance - Service log
Maintenance history with custom service-type icons
The result
The result is an app that keeps a cyclist on top of their bikes, service, and distance, and reliably works out in the field without signal.
It also includes a unified leaderboard system across categories (podium, medals, km) and custom service-type icons, details that make the app pleasant to use.
How it came together
- Design & garage
The data model for bikes and service, and the Flutter UI design. - Maps & offline
Map integration and tile pre-downloading for offline mode. - Optimization
Solving the sqflite locking and stability during map downloads. - Leaderboards & details
A unified leaderboard system and custom service-type glyphs.
Got a similar idea?
Write me a few sentences and I will reply within 24 hours.
Get in touch · mokansro@gmail.com · +421 902 554 927
Next project: Kronocast