DNNR Tech · 2025–present
AutoMiles
A mileage tracker that logs every drive automatically on-device, with the best retention in my portfolio: 38% of users still active on day one, 17% on day seven.
- Role
- Founder: product, design, iOS/Android, backend
- Team
- Solo
- Timeline
- 2025–present
- Stack
- Flutter, native iOS/Android background location and motion, SQLite, Firebase

The problem
People who drive for work need a mileage log for taxes and reimbursement. The incumbents charge around $60 a year, cap the number of free drives, and still rely on the user to remember to start a trip. The log is only valuable if it is complete, and it is only complete if the phone does the work.
What I built
AutoMiles detects drives in the background using location and motion signals, classifies each trip, and infers its purpose from the places you've tagged, so the log writes itself. There is no monthly cap and no paywall for the core log.
- Context-aware trip detection on the device. Start and stop are inferred from motion state changes and location, tuned separately for iOS and Android power and permission models.
- Purpose inference. Routes that begin or end at a tagged place (office, client, home) are classified automatically; everything else is a one-tap decision.
- A timeline people actually use. Year dividers, monthly totals, and remembered scroll position: a list pattern I've since reused in other apps.



Three decisions that mattered
1. Ask for permission after value, not before. The first release asked for "Always" location on launch. Only 4.8% of new users ended their first day with auto-detection on. I rebuilt onboarding as two screens, value first and choice second, with a visible "Not now" exit, and defaulted detection to on with a clear status card. Activation on iOS rose to 60–70%.
2. Never let a degraded install look healthy. A phone with background refresh off, or a permission downgraded by the OS, used to look identical to a working one. The status card now has four explicit states (healthy, limited, off, needs permission), so a user can tell at a glance whether the log is complete, and the app never pretends a drive was captured when it wasn't.
3. Free core, paid comfort. Instead of a drive cap, the business model is an ad-supported log with an ad-free upgrade. No pressure vocabulary, no fake urgency. Retention, not conversion, is the metric I optimize first.
Results
AutoMiles has the strongest retention and stickiness of the 19 apps I run, and it is the product where I learned the most about permission design. Those lessons became a shared "permission ladder" module that every later app uses.

