Changelog

Built in public.
Shipped this week.

COYL ships every Monday. No press releases, no roadmap theater — the behavioral interface between AI and real life, built one piece at a time. Latest releases and what they unlock below.

May 16, 2026

Real-time intervention surface on /today

When you're inside a known danger window right now, /today turns into a live intervention banner instead of a passive dashboard. Same matching logic the precision-interrupt cron uses for push notifications, surfaced server-side so web-only users see the moment too. Also shipped: rescue deep-link handling, consent-architecture feedback bar (helpful / not the moment), and a /changelog page so the build cadence is visible.

For you → Open /today during your danger hours and you'll see a live interrupt banner — not just yesterday's stats. The web now catches you in the moment, not after.

May 12, 2026

Clinical study protocol — open for partner enrollment

Published a 12-week IRB-friendly behavioral RCT protocol testing whether real-time pattern interrupt during GLP-1 maintenance reduces weight regain at 90 days post-discontinuation. N=80, randomized 1:1, minimal-risk expedited review pathway. Telehealth platforms and obesity-medicine clinics can enroll a cohort. Repo also includes the IRB submission narrative and four partner-outreach templates.

For you → If your GLP-1 clinic asks whether COYL is studied, point them here — there's a real trial protocol they can join.

May 12, 2026

Stripe tier-mapping fix + four-tier checkout

Webhook was hardcoding planType: 'PRO' on every successful checkout, regardless of which tier the user purchased — Plus customers paying $29/mo were getting Core features. Added price-ID-to-tier mapping in handleCheckoutCompleted and handleSubscriptionUpdated. Six Stripe live price IDs (CORE/PLUS/PREMIUM × M/A) wired and documented in .env.example.

For you → If you paid for Plus or Premium and didn't see the features unlock — that's fixed. You'll get the tier you actually paid for now.

May 12, 2026

SEO + social: dynamic OG images on every page

Every shared link previously fell back to favicon — Twitter, LinkedIn, iMessage, Slack, Discord all rendered a tiny icon. Now 9 pages render 1200x630 branded cards via /api/og at the edge. Root metadata refreshed away from the stale 'commitment engine' framing toward autopilot interruption + GLP-1 + Noom-alternative keywords. Structured data refreshed: added the missing Premium tier, contact points, and 10 SERP-intent FAQ entries.

For you → Share a COYL link in iMessage or Slack and it now shows a real preview card — not a tiny broken icon.

May 11, 2026

Workplace + procrastination vertical, in full

Three-leg wedge architecture: weight + GLP-1 (consumer), workplace + focus (consumer + employer B2B), destructive patterns (consumer). Built /procrastination as a co-equal vertical and /teams as the employer-facing B2B surface with PMPM pricing language.

For you → COYL isn't just for weight. If your loop is procrastination or follow-through at work, those have their own pages now.

May 10, 2026

GLP-1 companion: day-3 interrupt + onboarding step

Hourly cron fires push to users on day-3-after-injection-weekday at their local 5-9pm window — the discontinuation-relevant moment when appetite suppression starts wearing off. Onboarding picks up drug name and injection weekday; settings tile lets users update or end the protocol. Closes the GLP-1 funnel end-to-end.

For you → On GLP-1? Tell COYL your injection day and you'll get a nudge on day 3 — the exact evening the cravings tend to come back.

May 9, 2026

Recovery Mode UI on /today

When a user logs a slip, /today flips into Recovery Mode for 24h: emerald banner, 'You slipped. Good. Now we stop the damage.' framing, link to build the recovery plan. Streak stays preserved — no Monday reset. Brand promise: no shame, continue.

For you → Log a slip and the app stops the bleeding instead of resetting your streak to zero. No Monday-reset shame.

May 8, 2026

Account deletion + data export

Apple App Store guideline 5.1.1(v) and GDPR Article 17 compliance: full account deletion with active-subscription guard (409 if still subscribed), plus one-tap JSON data export of profile + commitments + slips + decisions + events from /settings. 365-day cap.

For you → You can now delete your account or export every piece of your data with one tap from Settings — your data, your call.

May 7, 2026

Heuristic danger-window learner

Daily cron at 03:00 UTC computes a (day x hour) histogram from each user's slip history and updates their active danger windows. HealthKit signals (steps, sleep, heart rate, active calories) feed into the correlation step as risk-context weighting.

For you → The longer you use COYL, the sharper it gets at predicting your danger hours — it learns the days and times your script fires.

Subscribe

Want updates as we ship?

One email a week. The pattern playbook — tactics, research, and what shipped. Unsubscribe anytime.

Start free