Skip to content
jpf

Tracker OS

A reusable product platform for building a family of focused tracking apps — one foundation, many apps.

Role
Design, engineering, infrastructure
Status
In active development
Stack
Flutter · Dart · TypeScript

Most independent app developers face the same trap: every new app restarts from zero. Authentication, billing, reminders, analytics, sync, deployment — months of undifferentiated work before the first product-specific line of code.

Tracker OS is my answer: a shared foundation designed so that each new tracking app inherits the hard parts and only pays for what makes it unique.

Decisions I’d defend

Local-first is the architecture, not a feature. Every app works completely without an account. Writes go to a local database and enqueue sync operations; the sync engine uploads when it can, with exponential backoff, an explicit offline state, and a server cursor that only advances after pulled data is safely applied. A user who never signs in gets a complete product.

Privacy is enforced at the type level where possible. Product analytics use a random per-install identifier and a fixed event taxonomy of machine values — tracker types, sources, counts. Habit names and notes never enter an analytics payload; there’s a test asserting it.

Operational simplicity is a feature. A single server runs the API, the database, and the websites, with nightly backups kept off-site.

Where it stands

The platform currently powers DailyStreak end to end — auth, multi-device sync, billing entitlements, analytics, and CI.