$19
Per month for the intelligence layer
The infrastructure that connects, analyzes, and publishes all health data. Varies $8–$22 depending on Claude API usage.
What the full stack actually costs

The $19 doesn’t replace the devices — it’s what makes them talk to each other.

Data sources
Whoop, Eight Sleep, Garmin, MacroFactor, Levels CGM, etc.
~$65/mo
Intelligence layer
AWS Lambda, DynamoDB, CloudFront, Claude API — everything on this page
$11–$25/mo
Total monthly investment ~$84/mo

What the $19 intelligence layer replaces

Personal health analytics platform (Heads Up, etc.) $60–$150/mo
Custom health data engineer (contract) $200+/hr
Concierge health coaching with data synthesis $300–$500/mo
DIY with ChatGPT + spreadsheets Free (~10 hrs/week manual)

Monthly Cost Breakdown

Real AWS numbers. These are average monthly costs since the platform launched. Some months higher (more Claude API usage), some lower (quieter weeks).

Service Usage $/month Why so low?
AWS Lambda ~5,000 invocations/mo · 62 functions · avg 800ms $0.12 // event-driven only — no idle cost; 400K free tier / mo
DynamoDB ~180K reads/mo · ~2K writes/mo · single table $0.48 // pay-per-request; on-demand; no provisioned waste
S3 ~2GB stored · static site + raw data · 100K GETs/mo $0.07 // $0.023/GB storage; CloudFront absorbs most GETs
CloudFront CDN ~50GB transfer/mo · TTL caching on all API routes $1.20 // free tier 1TB/mo first year; TTL turns 50K hits into 12 Lambda calls
API Gateway Site API (site-api Lambda) · ~5K requests/mo $0.02 // $1 per million — mostly cached by CloudFront anyway
EventBridge ~900 scheduled events/mo (crons for all 13 ingestion Lambdas) $0.01 // $1 per million events; crons are dirt cheap
Secrets Manager ~25 secrets · in-memory caching in Lambdas $0.25 // $0.40/secret/mo minus free tier; cached after first call
CloudWatch Logs ~500MB logs/mo · all Lambda invocations $0.35 // $0.50/GB ingest; 5GB free tier consumed monthly
Claude API (Anthropic) Daily brief + site Q&A · Haiku model · ~300K tokens/mo $8.50 // Haiku: $0.80/M input, $4/M output; daily brief ~8K tokens
Route 53 (DNS) 1 hosted zone · averagejoematt.com $0.50 // flat $0.50/mo per hosted zone
Certificate Manager SSL cert for averagejoematt.com $0.00 // free when used with CloudFront
Total — all services combined — $11–$25 // varies by Claude API usage; typical ~$15, high-usage ~$25

$0.43
Per daily AI coaching brief
$0.13
Per data source per month
0
Idle cost when nobody visits

// MCP server (Claude Desktop integration) runs locally — no cloud cost for that component. Wearable subscriptions (Whoop, Withings, Eight Sleep, Garmin, etc.) not included — those are health device costs, not infrastructure.

Architecture Decisions That Keep It Cheap

This is not an accident. Every decision below was made explicitly to minimize cost without sacrificing capability.

Compute
No always-on servers
Every computation is event-driven Lambda. Ingestion runs on a cron (14 Lambdas × once/day). The site API fires only when someone visits. Zero idle cost — you pay per invocation, not per hour running.
Saves ~$40–$80/mo vs always-on EC2 or ECS
CDN caching
CloudFront TTL on every API route
The site API has 5-minute TTL on /api/vitals and 1-hour on /api/journey. At 50,000 visitors, this means ~12 Lambda calls per endpoint instead of 50,000. Visitors get fast responses; Lambda almost never fires.
50,000 hits = $0.33 total vs $25+ without caching
Database
DynamoDB single-table, on-demand
One table, composite PK/SK. On-demand billing — you pay per read/write, not for provisioned capacity. No GSIs (architectural decision ADR-019): all access via known key patterns keeps reads cheap.
$0.48/mo vs $15+/mo provisioned RDS
AI model selection
Haiku for production, Sonnet for dev
The daily brief and site Q&A use Claude Haiku (smallest, cheapest model). Haiku costs $0.80/M input tokens vs $3/M for Sonnet. For a 300-word daily brief, that’s $0.002 per run vs $0.008. Over 30 days: $0.06 vs $0.24.
4x cheaper than using Sonnet for everything
Static hosting
S3 + CloudFront for the entire site
averagejoematt.com is entirely static HTML/CSS/JS hosted on S3 and distributed via CloudFront. No web server, no container, no hosting bill. The only dynamic layer is the site-api Lambda which only runs when the browser makes an API call.
$0.07/mo vs $10–$30/mo for managed hosting
Secrets
Lambda-level in-memory caching
Each Lambda caches its Secrets Manager response after the first call (warm container reuse). A Lambda that runs 30 times/day makes only 1–3 Secrets Manager calls (cold starts). Without caching, that’s 900 calls/month per Lambda at $0.05/10K calls.
Reduces Secrets Manager cost from ~$2 to ~$0.25/mo

Running Total Since Launch

Cumulative AWS spend since launch. Updated monthly.

Month Cost Notable Cumulative
Feb 2026 $8.20 // Launch month — partial month, ramp-up, no site traffic yet $8.20
Mar 2026 $11.90 // First full month — website live, site API added, CloudFront configured $20.10
Apr 2026 // Not yet complete

// Cost table is manually updated monthly from the AWS Cost Explorer console.

Want the full technical picture?

The platform page has the complete architecture: all 8 CDK stacks, 62 Lambda functions, the DynamoDB single-table design, and how data flows from 26 wearables to the AI.

See the full architecture →