← back to the wall

MyLifeAsData Obsolete

APP

Turning Self-Tracking Into Answers

JUN 2026

MyLifeAsData Obsolete - Turning Self-Tracking Into AnswersARCHIVED
built with
Next.jsMongoDBStripeSupabaseGemini 2.0 FlashFlaskCeleryAWS Lambda

"Track everything, understand nothing?"

Overview

I had years of personal data — Fitbit exports, blood panels, food logs, mood notes — and almost no insight. Collection was solved a decade ago; synthesis never was. MyLifeAsData is three attempts at the same problem: find the correlations hiding in a person's own data and say something useful about them.

The arc

v0 — "correlations" (2024, ~350 commits)

A Flask + Celery app with a React frontend, async processing pushed to AWS Lambda and S3, deployed to a VPS under systemd, instrumented with Sentry and LogRocket and load-tested with Locust. It worked and taught me the shape of the problem: people don't have clean data, they have spreadsheets.

v1 — the launch (2025, ~310 commits) — this is what's live

A full rewrite in Next.js with MongoDB, NextAuth and Stripe. Upload a CSV of anything you track, get correlations, trends and plain-language insights back. Shipped with a public feedback board — my first digital product that took real payments.

v2 — experiments instead of dashboards (2026, in progress)

The insight from v1 was that correlations answer "what moved together" but never "what should I try next". v2 turns a stated goal into a structured N=1 experiment:

  • AI experiment design — Gemini asks contextual questions (do you own a glucometer? do you travel?), then produces a hypothesis, metrics, a baseline phase and a timeline
  • Spaced repetition for data collection — high-variance metrics like mood get asked daily, medium ones every three days, stable ones weekly, adapting to how consistently you actually answer. Same statistical power, a fraction of the tracking fatigue
  • A real correlation engine — Pearson coefficients with significance testing, confidence weighted by sample size, cross-experiment pattern discovery, and insight text written on top of the statistics rather than instead of them
  • Supabase with row-level security, and a demo mode that runs the whole app with no database at all

Why three rewrites

Because each version answered a different question. v0 asked "can this be computed", v1 asked "will anyone pay for it", v2 asks "what should the user do tomorrow". The correlation engine survived all three; almost nothing else did.

Why I built this

After years of tracking, I had a mountain of data and no answers. The tools I used were excellent at collection and useless at synthesis. This is the inverse-shaped tool: opinionated about what's worth measuring, generous with the "so what".