{"overall":"degraded","headline":"2 services affected","measured_at":"2026-08-28T07:33:50Z","stale":false,"components":[{"key":"app","name":"Website & app","group":"Core","blurb":"Signing in, the dashboard, and everything you ride with.","status":"operational","note":null,"uptime_90d":100.0},{"key":"database","name":"Database","group":"Core","blurb":"Where your rides, plans and routes live.","status":"operational","note":null,"uptime_90d":100.0},{"key":"background_jobs","name":"Background processing","group":"Core","blurb":"Ride imports, plan builds and email all run here.","status":"degraded","note":null,"uptime_90d":0.0},{"key":"cache","name":"Cache","group":"Core","blurb":"Speeds up map scenery and repeated lookups.","status":"operational","note":null,"uptime_90d":100.0},{"key":"indoor","name":"Indoor riding","group":"Riding","blurb":"The virtual world, trainer pairing and saving a finished ride.","status":"unknown","note":null,"uptime_90d":58.33},{"key":"indoor_scenery","name":"Indoor scenery","group":"Riding","blurb":"Real-world buildings, roads and terrain along your route.","status":"operational","note":null,"uptime_90d":100.0},{"key":"route_builder","name":"Route builder","group":"Riding","blurb":"Drawing and snapping routes to real roads.","status":"operational","note":null,"uptime_90d":100.0},{"key":"geocoding","name":"Address search","group":"Riding","blurb":"Looking up places and home addresses.","status":"operational","note":null,"uptime_90d":100.0},{"key":"weather","name":"Weather","group":"Riding","blurb":"Forecasts on the calendar and elevation for Indoor terrain.","status":"operational","note":null,"uptime_90d":100.0},{"key":"strava","name":"Strava sync","group":"Integrations","blurb":"Importing your rides, and posting ride descriptions back.","status":"degraded","note":null,"uptime_90d":91.7},{"key":"whoop","name":"WHOOP sync","group":"Integrations","blurb":"Daily recovery, HRV, sleep and strain.","status":"unknown","note":null,"uptime_90d":null},{"key":"hammerhead","name":"Hammerhead sync","group":"Integrations","blurb":"Rides arriving from a Karoo.","status":"unknown","note":null,"uptime_90d":null},{"key":"payments","name":"Payments","group":"Integrations","blurb":"Subscribing to Pro and managing billing.","status":"unknown","note":null,"uptime_90d":null},{"key":"email","name":"Email delivery","group":"Platform","blurb":"Verification, password resets and ride recaps.","status":"operational","note":null,"uptime_90d":57.35},{"key":"ai_coaching","name":"AI coaching notes","group":"Platform","blurb":"The written reasoning attached to your sessions.","status":"operational","note":null,"uptime_90d":100.0}],"incidents":[]}