App guides
How MileTracker syncs your trips with Supabase
An honest look at how MileTracker's SQLite-first architecture syncs to Supabase, what's encrypted, and why your trips are always available offline.
By MileTracker · April 6, 2026 · 7 min read
MileTracker is built on a SQLite-first, sync-second architecture. Here's what that means and why it matters.
Local first
Every trip is written to a local SQLite database on your iPhone before it goes anywhere else. That means your trips are always available, even on a flight or in a dead zone.
Opportunistic sync
When your phone is online, MileTracker syncs new trips and any changes to Supabase. Your row in our Postgres database is keyed to your Apple Sign In identifier and protected by row-level security — no other user can read your trips.
Why this design
- Your data is yours. The on-device DB is the source of truth.
- You can drive in dead zones without losing trips.
- Re-installing the app pulls everything down from your sync state.
- If our cloud ever has an outage, you keep using the app.
MileTracker detects every drive in the background, lets you classify business or personal in one tap, and exports an IRS-ready PDF and CSV at tax time. Download MileTracker free on the App Store.