Back to Developer Logs

Build Log — February 20, 2026

Build Log — February 20, 2026

What We Shipped

🤖 Bring Your Own Agent (BYOA) — Phase 3

The final piece of BYOA write access landed. Agents can now push structured suggestions to athlete profiles via the write:profile scope. We also enforced a subscription gate — no paid plan, no API access. (#393, #400)

Renamed "Agent API Access" to "Bring Your Own Agent" across the UI for clarity. (#398, #399)

⚙️ Settings & Preferences — Complete Overhaul

The biggest UX pass we've done on settings. The dropdown got a full reorganization:

  • Preferences button promoted to the header for one-click access. (#401)
  • Stripped redundant sections — Connections (already in Sync menu), Agent Access (already in header), Billing, Referral, and Sign Out all removed from the Preferences page. They live in the dropdown now. (#402, #403, #405, #415)
  • Delete Account went through several rounds of repositioning — settled on placing it after Developer Logs. (#408–#410, #414)
  • Training Zones promoted to the header nav bar next to Agent API. (#411)

💳 Billing & Stripe

Wired the Billing button to the actual Stripe Customer Portal with toast feedback on click. Fixed the portal return URL and squashed a bug that created duplicate Stripe customers for the same email. (#406, #413, #418)

📊 Analytics & Growth

  • GitHub contribution heatmap in the blog sidebar — shows project activity at a glance. (#417)
  • Daily active users chart on the admin dashboard. (#412)
  • "How did you hear about us?" dropdown on the signup form for referral source tracking. (#419, #422)

🔐 Security Fix

Scoped localStorage chat keys by user ID. Previously, switching accounts on the same browser could leak chat history between users. Fixed. (771f4d2)

🔧 Other Fixes

  • Prevented duplicate workouts from plan engine / tool call overlap. (#394, #397)
  • First-class mobile shell render path for a cleaner mobile experience. (#392)
  • Discord link styled properly in the Contact Support modal. (#416)
  • Blog formatting standardized across all past build logs. (#407)

By the Numbers

35 commits, 22 PRs merged. One of the highest-volume days yet — touching BYOA, settings UX, analytics, billing, and security all in a single push.

Momentum: 🔥🔥🔥🔥🔥