26 data sources → 13 ingest Lambdas → S3 + DynamoDB → 5 compute Lambdas → 4 output channels. All on AWS. Costs ~$19/month. Built by one person using AI as a development partner.
Python Lambda
DynamoDB
S3 / EventBridge
MCP / Claude
Region: us-west-2 (us-east-1 for Site API)
System design
Five-layer architecture
All data converges to a single DynamoDB table (no GSIs, PK+SK only). Compute Lambdas pre-calculate intelligence results before the email delivery window. The MCP server exposes 121 tools to Claude over OAuth 2.1 — queries stay in natural language, not SQL.
INGEST
26 sources → DynamoDB
WhoopWithingsStravaApple HealthMacroFactorEight SleepGarminHevyHabitifyNotion JournalTodoistDexcom CGMLab Draws ×7DEXA ScansGenome 110 SNPsBlood PressureState of MindWeatherSupplements
STORE
Single-table DynamoDB
DynamoDB on-demandS3 raw + configSingle-table designPITR 35-dayKMS CMK encryptionDeletion protectionNo GSI — PK+SK onlyTTL on cache partition
The MCP server is a Lambda-backed tool registry exposing direct read access to every metric in DynamoDB. Claude calls tools in natural language; the server handles query composition, DynamoDB projection expressions, and result formatting.
Domain modules cover sleep, training, nutrition, CGM, labs, journal, correlation, character, board, lifestyle, and strength — each with dedicated tools purpose-built for their data shapes.
Daily brief pipeline: compute Lambdas run first (character-sheet, adaptive-mode, insight, hypothesis-engine), pre-calculating scores and hypotheses. The email Lambda reads these cached results rather than re-querying live data, keeping latency under 2 seconds.
Weekly hypothesis engine runs a Pearson correlation matrix across 23 metric pairs with Benjamini-Hochberg FDR correction, then feeds statistically significant findings to Claude for biological hypothesis generation.
The platform runs 14 intelligence systems every morning.
One of 121 MCP tools that Claude uses to query health data. Inputs, outputs, and a representative finding.
get_sleep_environment_analysisBS-SL1 · Opus
Cross-references Eight Sleep bed temperature data with Whoop sleep staging to find the optimal temperature for deep sleep. Runs multi-signal analysis across 14+ nights.
Input: date range, Eight Sleep + Whoop data
Output: optimal temperature range, deep sleep correlation, adjustment recommendations
Finding: Lowering bed temp by 2°F added +18 min deep sleep per night
Lint → test → plan → deploy (manual approval gate). OIDC federation — no long-lived AWS keys. Auto-rollback on smoke test failure.
Synthetic canary
Every 4 hours: DynamoDB round-trip, S3 round-trip, MCP endpoint health check. SES alert on any failure.
ZONE 02The Guaranteessecurity · cost · architecture reviews
Security posture
Hardened by default
Every architectural decision includes a security dimension. The site-facing API is read-only by design; the data layer is air-gapped from public writes.
Access control
— One IAM role per Lambda (least-privilege)
— Secrets Manager only — no .env files
— OIDC federation for CI/CD (no static keys)
— OAuth 2.1 + HMAC auth on MCP endpoint
— Rate limiting: 3 anon / 20 subscriber per hour on /ask
Data protection
— KMS CMK encryption on DynamoDB + S3
— DynamoDB deletion protection enabled
— S3 bucket policy blocks DeleteObject on raw/*
— PITR 35-day point-in-time recovery
— Site API Lambda: read-only, never writes to DynamoDB
Observability
— X-Ray tracing on all Lambdas
— CloudWatch alarms on error rate + latency
— Dead-letter queues on all async invocations
— Synthetic canary every 4 hours
— SES alert on any canary failure
FinOps
What it costs to run
62 Lambda functions, DynamoDB on-demand, S3, CloudFront, SES, 7 AI-generated digests per week, and a public site with live data. All serverless — no EC2, no containers, no reserved capacity.
Total monthly
$19
/month
Claude API
$3
Sonnet + Haiku
AWS infra
$10
Lambda + DDB + S3
Engineers on team
0
Built with Claude
// Pay only for what runs. Full breakdown at /cost/ →
Architecture reviews
Reviewed 19 times by a 12-member AI board
Every major change triggers a structured architecture review. 12 expert AI personas — cloud architect, security lead, statistician, product architect, adversarial reviewer — vote, score, and issue findings against a fixed rubric.
CI/CD activation, Google Calendar retired. All 6 R15 findings resolved.
R15
Mar 15, 2026
A
Platform steady state. Zero dimension changes from R14.
ZONE 03The Surfacesevery page · every data stream · every tool
The AI
14 intelligence systems running every day
Correlation engine. Hypothesis generator. Adaptive mode. Metabolic-adaptation detector. Anomaly scanner. Each one runs on a schedule, writes structured findings to a single record, and surfaces in the morning brief. The architecture is documented above; this is what those Lambdas actually do.
Correlation Engine
Weekly Pearson r across all measured variables, Benjamini–Hochberg-corrected at p<0.05. Flags the top 3 non-trivial relationships and the 3 it specifically rules out.
Hypothesis Generator
Reads the unified record, drafts testable hypotheses with priors, tracks each one to confirmation/refutation/abandonment. Visible on the Intelligence page.
Adaptive Mode
Senses whether today is a flourishing / standard / struggling day from sleep, HRV, mood, and adherence — and shifts the brief's tone + asks accordingly.
Metabolic Adaptation Detector
Watches for the divergence between expected and actual weight loss given the deficit. Surfaces a flag, not a verdict; pairs it with what to ask next.
Anomaly Scanner
Per-metric residuals against the 30-day baseline. Anything >2σ ends up in the brief with the contextual signal that should have predicted it (or didn't).
The AI Board is the cross-disciplinary panel the platform consults when a question is too complex for a single coach. Each advisor reads the same unified record but answers from their own domain. Disagreements are surfaced, not hidden — that's the point.
Dr. Henning Brandt
Biostatistics · N=1 research
Dr. Amara Patel
Metabolic health · CGM
Dr. Lisa Park
Sleep · circadian rhythm
Dr. Marcus Webb
Evidence-based nutrition
Dr. Sarah Chen
Exercise physiology · strength
Dr. Nathan Reeves
Psychiatry · behavioral patterns
Each advisor's perspective is rendered by Bedrock Claude (Sonnet for narrative, Haiku for structured) with the same prompt template, the same data context, and explicit instructions never to defer to consensus. The point is to see them disagree.
Ask the Board →
The Coaches
Eight specialists, one body
The coaching team is the daily layer — eight domain specialists who each track their slice of the unified record and write a paragraph in the morning brief. Unlike the Board (consulted), the Coaches are always on.
Sleep
Dr. Lisa Park
Nutrition
Dr. Marcus Webb
Training
Dr. Sarah Chen
Mind
Dr. Nathan Reeves
Physical
Dr. Victor Reyes
Glucose
Dr. Amara Patel
Labs
Dr. James Okafor
Explorer
Dr. Henning Brandt
Each coach runs as a separate Lambda. Shared context (yesterday's brief, the 7-day window, current goal) is cached for prompt-caching efficiency. Outputs go through a quality gate before the orchestrator stitches them into the brief.
Open the live coaching dashboard →