$19
Per month to operate
0
Engineers on team
26
Data sources integrated
ZONE 01 The Pipeline architecture · ingest · compute · intelligence · tech stack
Architecture

The system — every component

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.

DATA SOURCES INGEST STORE COMPUTE OUTPUTS WEARABLES Whoop · Eight Sleep Garmin · Apple Health HRV · Sleep · Steps · HR NUTRITION + METABOLIC MacroFactor · Dexcom CGM Calories · Macros · Glucose Withings · Blood Pressure BEHAVIORAL Habitify · Notion · Todoist Strava · State of Mind Weather · Supplements LAB + CLINICAL Labs ×7 · DEXA Scans Genome 110 SNPs EventBridge cron 06:45–11:00 AM PDT gap-aware backfill 13 Ingest Lambdas Python 3.12 · stdlib only urllib · no external deps Secrets Manager auth Manual + Webhooks Labs · DEXA · Genome S3 upload → Lambda trigger triggers S3 Raw Store matthew-life-platform raw/{src}/{type}/{Y}/{M}/{D} KMS encrypted · delete-protected DynamoDB life-platform table PK: USER#matthew#SOURCE#* SK: DATE#YYYY-MM-DD single-table · no GSIs · us-west-2 Lambda Layer ai_calls · scoring_engine board_loader · output_writers 5 Compute Lambdas character-sheet adaptive-mode · daily-metrics daily-insight · hypothesis-engine → pre-computed before 11 AM MCP Lambda 121 tools · 35 modules Claude Desktop + claude.ai OAuth 2.1 · natural language 7 Email Lambdas daily-brief fires at 11 AM Amazon SES · templates weekly chronicle · digests Daily Brief Email 11 AM · personal coaching 26 sources → 1 insight averagejoematt.com S3 + CloudFront CDN Site API Lambda us-east-1 Claude Desktop / AI MCP protocol · 121 tools natural language queries /ask · /subscribe rate-limited public API anon 3/hr · subscriber 20/hr ~$19 / month DynamoDB + Lambda + S3 + CF DAILY SCHEDULE 06:45–11:00 AM PDT EventBridge cron · UTC-fixed
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
Whoop Withings Strava Apple Health MacroFactor Eight Sleep Garmin Hevy Habitify Notion Journal Todoist Dexcom CGM Lab Draws ×7 DEXA Scans Genome 110 SNPs Blood Pressure State of Mind Weather Supplements
STORE
Single-table DynamoDB
DynamoDB on-demand S3 raw + config Single-table design PITR 35-day KMS CMK encryption Deletion protection No GSI — PK+SK only TTL on cache partition
COMPUTE
Pre-brief intelligence
character-sheet-compute daily-metrics-compute daily-insight-compute adaptive-mode-compute hypothesis-engine (Sun) weekly-correlation-compute IC-4 failure patterns (May) IC-5 momentum warning (May)
SERVE
121 MCP tools → Claude
Remote MCP (OAuth 2.1) Claude Desktop (local) claude.ai + mobile Lambda Function URL HMAC Bearer auth 26h TTL cache Nightly warmer (13 tools) 1024MB / 300s timeout
EMAIL
7 AI digests / week
Daily Brief (11 AM) Monday Compass Wednesday Chronicle Weekly Digest (Sun) Nutrition Review (Sat) Weekly Plate (Fri) Monthly Digest Anomaly Detector
Intelligence layer

121 tools across 35 domain modules

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.
See what the AI does →
Tool spotlight

Tool of the week

One of 121 MCP tools that Claude uses to query health data. Inputs, outputs, and a representative finding.

get_sleep_environment_analysis BS-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

// Tool spotlight rotates periodically. Ask the platform anything →

Tech stack

What it's built on

Infrastructure
AWS Lambda + CDK
62 functions across 8 CDK stacks. All IAM roles dedicated and least-privilege. EventBridge scheduling on fixed UTC crons (no DST drift).
DynamoDB + S3
Single-table design. On-demand billing. PITR 35-day. KMS CMK encryption. Raw JSON archived to S3 at raw/{source}/{datatype}/{YYYY}/{MM}/{DD}.json.
SES + SNS + SQS
Email delivery via SES, alert routing through SNS, dead-letter queues for failed Lambda invocations.
AI / Intelligence
Claude (Anthropic)
Sonnet for coaching and analysis, Haiku for classification. ~$3/month API cost. MCP protocol for tool calls.
MCP Server (custom)
121-tool Lambda backed by DynamoDB. OAuth 2.1 + HMAC auth. 35-module package. 26h TTL cache with nightly warmer across 13 high-cost tools.
Hypothesis Engine
Weekly Pearson correlation matrix (23 pairs, BH FDR correction) feeds Claude for biological hypothesis generation.
Quality + CI/CD
853 automated tests
CDK handler consistency, S3 path linting, IAM/secrets cross-check, MCP registry integrity, DynamoDB key pattern validation.
GitHub Actions CI
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 02 The Guarantees security · 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.

Read the latest review (R20: A) →

R20
Apr 4, 2026
A
DPR-1 deep page review. 43 findings across 13 pages. ADR-046 S3 prefix separation. Hourly ingestion. Secret caching.
R19
Mar 30, 2026
A
Full 6-phase remediation. 100% CDK adoption, 100% alarm coverage, PITR drill passed, /api/healthz. All R18 findings resolved.
R18
Mar 28, 2026
B+
v4.3.0 sprint review. CDK drift + doc mismatch flagged. 9 findings, all remediated in R19.
R17
Mar 22, 2026
A-
WAF deployed, rate limiting, privacy policy. Cross-region latency flagged.
R16
Mar 15, 2026
A
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 03 The Surfaces every page · every data stream · every tool
Go deeper

Explore the Build

🤖
The AI
14 systems running daily
$19
The Cost
Every line item, explained
🎯
Ask the Board
6 AI advisors, one question
📏
Methodology
N=1 science, FDR correction
🔧
Free Tools
Zone 2, HRV, protein calculators
💬
Ask the Data
Natural language queries
This platform generates a weekly chronicle. An AI journalist reads the data and writes about what she finds. Read the latest →