SS·AD·BUILDDeep dive

schnorr.Adulthood · the build

The machinery behind the app. Every number is queried from production, not estimated.

schnorr.Adulthood · the build

One database, one orchestrator, one forecast.

Every number below is pulled live from the system itself, not estimated. Under the hood it's the same shape as a company's data platform: data flows in, one database holds it, engines make sense of it. All of it, pointed at a single user.

Sources
Seven sources, five synced live
Power and ride heart rate are captured on the Garmin at the wheel and flow in through Strava. Wearables, weight, training plans, calendar, and mail land alongside: webhooks where offered, scheduled pulls where not.
GarminStravaOuraWithingsPelotonGoogle CalendarGmail
Sync
20 cloud jobs, every run logged
Background jobs pull everything in on schedule, notice when data is missing, and go back to fill it. 8,361 runs recorded to date.
syncsync-streamswithings-webhookdata-gapsfill-gap8,361 logged runs
Database
One database · 80 tables, locked down row by row
Everything lands in a single Postgres database with 131 security policies guarding it. Nothing lives in a spreadsheet; nothing is scattered across apps.
80 tables131 RLS policies60k+ heart-rate rowsper-second ride streams
The roster
A roster of purpose-built personas
The registry holds 14 personas; a handful earn daily seats. Some own a promise outright: Wade owns the mountain. Some support every promise: Tina fuels whatever the day asks. When two want the same hour, a precedence engine resolves it by rule. A pattern/signal engine watches the data underneath.
14 registered · 4 dailyprecedence rulespattern/signal enginemetric catalog
The Mirror
The Mirror · the promise-keeper
One composer reads everything (calendar, training, tasks, weather, the roster’s takes) and writes the day’s brief: what you said, what you did, the gap, and one question. The composer is on version 33 in production.
composer v33compose-forecastadjust-forecastbriefingdaily forecast cache
Surfaces
A hand-built design system, one look everywhere
Vellum, the design language this page is set in. Every screen is a module that plugs into the same data: planner, ride cockpit, the Mirror, the roster.
Vellum design systemregistry-pattern UI4 primary surfaces
80
Database tables
Everything the system knows, organized in one place.
131
Security policies
Rules that lock every row of data to its owner.
20
Cloud jobs
Small programs that sync, compose, and repair, around the clock.
8,361
Logged runs
Every automated job leaves a paper trail.
60,053
Heart-rate readings
Pulled in from Oura, one row each. The values stay private.
14
Advisory personas
In the registry: a few hold daily seats. Some own a promise; some support them all.
// counts queried from production · july 2026