Skip to content
Jonathan Jiménez Reina

All projects

Dustrek

My own product, on the stores since October 2026

Motorcycle navigation for places without signal.

An app for riding trails and dirt roads, alone or in a group. It sits on the handlebars, works with gloves on, and everything important works without internet: maps for around 350 countries and regions, live group riding with crash alerts, and Bluetooth beacons for when nobody has signal.

Group panel with the distance to each rider and the call-for-help and leave buttons.
Route panel with the elevation profile, remaining distance and arrival time.
Dustrek showing four group riders on the map while they follow a route.
new users a month
~250
modules
30
test files
769
written decisions
232
languages
4

The problem

There is no signal in the mountains. Navigation apps stop working exactly where you need them most, a group splits up at a junction and nobody notices, and if someone falls it can take a while before the others realise they are missing.

What I did

All of it: the Android and iOS app, the website, the operations dashboard and the server.

  • Offline maps for around 350 countries and regions, with a strip of satellite imagery along the route.
  • GPX route following, with an alert when you go off track and “Take me back to the track” to rejoin it.
  • Live group: your riders on the map, who is ahead and who is behind, an alert at junctions, crash detection and a call-for-help button.
  • Bluetooth beacons: phones pass positions to each other when nobody has internet.
  • Protected areas in Spain, Portugal, France and 26 other European countries, from official data.
  • On the website, a planner that suggests a route with AI.

Three decisions

  1. The build enforces the architecture, not people’s memory. 30 modules, and a table in the build that breaks it if a module depends on something it shouldn’t. The important rules are custom detekt rules, and a script checks that they really fail when broken.
  2. Offline maps without being tied to the library. MapLibre sits behind my own API, and the app downloads its own tiles by byte ranges from a PMTiles file. Switching map engines would not mean touching the screens.
  3. iOS in the quality gate from day one. Every check builds iOS and runs its tests. Swift code is limited to four files; the rest is shared Kotlin.

The app, screen by screen

  • The group, live on the map

  • Who is ahead and who is behind

  • Route panel with elevation profile

  • Bike-down alert

  • Route details

  • Offline maps

  • Off-route alert

  • Junction sentinel

  • Explore other riders' routes

  • Group rides

  • Ride summary

  • Night theme

On the big screen

  • dustrek.com: route details

  • dustrek.com: explore