
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.



- 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
- 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.
- 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.
- 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