This is an interactive demo with sample data — not a live view into my real personal data. ← Back to architecture

Good morning

WinterSpringSummerFallWinter
Today's Events
Morning mobility + upper body lift
7:00 – 8:00 AM · Ocean Pacific gym
Technology Evaluation Team Meeting
10:00 – 11:00 AM · Video call
1:1 with intern
11:30 AM – 12:00 PM · Video call
Blocked
3:00 – 5:00 PM · Focus time
Call with family
5:00 – 6:00 PM
Sleep Score
86
last 7 entries
Readiness
79
last 7 entries
Avg HRV
62 ms
last 7 entries
Avg Sleep
7.4h
last 7 entries

Health Summary

How the body's actually doing this week

Sleep & Recovery — last 7 entries

Avg Sleep Score
84
last 7 entries
Avg Readiness
77
last 7 entries
Avg HRV
59 ms
last 7 entries
Avg Sleep
7.2h
last 7 entries

Training Plan

    This Week's Split

    Pick any two metrics to plot against each other.

    AI Synthesis

    Your readiness has climbed 8 points week-over-week, tracking closely with the two extra rest days you took after the volleyball tournament. HRV is most suppressed on days following late-evening screen time — consider shifting wind-down earlier on weeknights. Training volume is on pace with the Week 6 strength phase target.

    Generated via LangChain + Claude, synthesizing recovery, training, and journal data — sample output shown here.

    News Update

    The morning briefing

    Morning Brew

    Retailers are quietly leaning on AI to cut return rates
    A handful of large retailers are testing AI-powered sizing and fit tools to bring down the cost of returns, which have become one of the biggest hidden expenses in online retail.
    Read more
    From: "Your daily rundown" · this morning

    TLDR

    A new open-weight model claims near-frontier performance at a fraction of the cost
    Benchmarks are still being independently verified, but early reports suggest the gap between open and closed frontier models keeps narrowing faster than expected.
    Read more
    From: "TLDR Newsletter" · this morning

    James Clear

    The 2-minute rule, revisited
    A short reflection on why the easiest version of a habit is usually the right starting point, even years after you've already built the habit once.
    Read more
    From: "3-2-1" · this morning

    About This Project

    Why I built it, and how the AI parts work

    I built this because I was already tracking most of this data anyway — sleep and recovery from Oura, workouts from Hevy, nutrition from MacroFactor, my calendar, a personal journal — and I was curious if I could gain any AI insights correlating data from all four.

    Some questions I wanted to answer were: How do my social events and work events influence my readiness and stress levels? Is my chronic back pain correlated with step count and volume lifted per week? How do my macros influence my sleep? To be honest, I ended up adding the News part just for fun.

    Where AI does work here

    For the morning newsletter roundup, Gmail (read-only access — the app can never send, delete, or modify anything) hands the raw email text to Claude, which returns a headline and summary constrained to a fixed schema.

    For health insights, only aggregate stats and correlations get sent to Claude — never raw rows, never journal text. Results are cached against a fingerprint of the underlying numbers, so reopening the page doesn't burn an API call if nothing's actually changed since last time.

    Journal entries are encrypted at rest (Fernet, with a password-derived key using 480,000 rounds of PBKDF2) and only ever decrypted into memory for the length of a single request — never written back to disk as plaintext.

    I chose a simple local architecture for the rest of the app — SQLite handles data storage, there are no third-party analytics scripts, and no external backend servers. The system only connects to the internet to run the exact API calls mentioned above.

    Stack

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