This page shows real system architecture. ← Back to portfolio
Life & Health Dashboard

Why I built this

I've tracked various health metrics across separate apps for years without a way to analyze their cross-functional impact. I built this dashboard to centralize my data into one daily view, surfacing actionable trends to uncover how work and social schedules influence readiness, how training volume affects recovery, and how nutrition impacts sleep.

Want to click around it yourself?

Try the interactive demo with sample data — same views, same charts, no real personal data.

Try the Interactive Demo →

System Architecture

Pulls from four separate apps I was already using, no hosted backend involved.

Oura
Sleep, recovery, HRV
Hevy
Workouts & training
MacroFactor
Nutrition
Google Calendar
Today's events
Gmail
Read-only — never sends, deletes, or modifies anything
OAuth2, read-only scope
Local sync layer
Pulls each source's API/export into one local store
PythonSQLite
Where AI actually does work — narrow, schema-constrained, and cached
Newsletter summarizer
Raw email text → headline + summary in a fixed schema, never guessing at HTML layout
ClaudePydantic
Health insight synthesis
Only aggregate stats/correlations sent — never raw rows or journal text. Cached against a data fingerprint
LangChainClaude
Encrypted journal
Fernet + password-derived key (480k rounds PBKDF2), decrypted only in-memory per request
cryptography
Streamlit dashboard
Home, Health Summary, News, About — one daily view
StreamlitPlotly

Software Used

Python Streamlit Pandas Plotly SQLite LangChain Anthropic Claude Pydantic Google API Client (Gmail OAuth2) cryptography / Fernet