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

Google Play

Plus WorldBike 1

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

  1. Design & garage
    The data model for bikes and service, and the Flutter UI design.
  2. Maps & offline
    Map integration and tile pre-downloading for offline mode.
  3. Optimization
    Solving the sqflite locking and stability during map downloads.
  4. 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