Onboarding Entry Gate + Deploy Readiness + Regression Tests
Added an onboarding entry gate based on auth/local state, improved deploy readiness scripts and seeded tests, and expanded regression coverage for account prompt triggers.
Build in public
Release notes with shipped changes, decisions, and momentum updates.
Added an onboarding entry gate based on auth/local state, improved deploy readiness scripts and seeded tests, and expanded regression coverage for account prompt triggers.
Persisted marketing form submissions in Supabase, upgraded bot protection from Turnstile to Vercel BotID, and added CSP directives to improve security posture.
Introduced authentication routes and deterministic sync endpoints, plus post-value account prompt surfaces and state management to encourage signup only after users see value.
Added in-app support request intake with Supabase persistence, then hardened public endpoints with rate limiting, attestation, and sanitization.
Introduced a shared WorkoutHeader to standardize play and quick workout header layout, adding clearer context (date/timer) and improving responsiveness.
Upgraded the exercise editing experience with modular tabs (including Load Logic), first-class alternatives + ladder management, drag-and-drop improvements, and stronger schema validation/normalization across routines and quick workouts.
Upgraded onboarding with returning-user restore flows, migrated routines from freeform tags to controlled metadata, improved preset browsing and base-weight setup, refined Profile/Training edit modes, and tightened Next.js 16 routing compatibility.
Expanded Protocol’s execution and schema model: optional and swappable exercises, skipped set semantics, anchor-aware load resolution, Monday-based weekday indexing, and catalog/template-ready routines—plus major preset expansion.
Modularized builder and profile surfaces for maintainability, introduced new mobile builder components, and upgraded exercise edit modals and weight reference selection for clearer user workflows.
Improved workout execution reliability with session expiry, per-exercise timing, and duration overrides—plus added Playwright smoke tests and a deterministic seed strategy for repeatable QA.
Shipped a real Insights hub with useful cards, migrated duration fields from minutes to seconds with backward compatibility, and added day-to-day exercise transfer in the builder.
Added guardrail scripts to protect marketing/training boundaries, standardized UI imports, and expanded dev-only analytics + accessibility tooling.
Added a dev-only analytics debug panel, dashboards-as-code sync for PostHog, and continued tightening accessibility, configuration, and internal tooling across the app.
Shipped the first slice of the Profile Hub + Body domain refactor with migration-safe models, and transformed Analytics into an Insights hub (Progress/Body/Tools) with robust derived-metrics plumbing.
Implemented real draft write-path for the routine builder with debounced autosave, restore/discard prompts on open, safe versioning, and analytics events to prevent lost work.
Centralized PostHog tracking into a single analytics module, replaced scattered capture calls, and expanded coverage across onboarding, workouts, and routine management with safe fallbacks.
Finalized a unified exercise engine direction: ModalityType replaces LoadKind, cardio + HIIT converge into one path, intervals/pace become first-class performance schemas, and MindBody (yoga/mobility) lands without exploding exercise types.
Refactored Digital Obsidian styling to rely more on Tailwind utilities and standardized color usage across components, while tuning timer animations for clearer feedback.
Unified modal behavior with ProtocolModal, improved exercise selection with search + filters, added draft-friendly numeric inputs, and polished Obsidian styling across key dialogs.
Added full PWA installability (manifest, service worker, install prompts + iOS fallbacks) and bundled major UX/theme improvements into a new milestone release.
Updated for Next.js 15+ route param requirements, fixed builder re-render issues, and refactored Obsidian CSS into Tailwind layers with RGB tokens.
Improved the Exercise Edit Modal with a theme toggle, stronger mobile/desktop layout, and Digital Obsidian styling; bumped to v0.6.1.
Shipped the Digital Obsidian aesthetic across marketing + training, finalized onboarding/identity, and tightened shared UI structure.
Cleaned build/deploy issues and repo noise to keep shipping fast and predictable.
First real release milestone: onboarding flow, lightweight identity, and quick workouts to reduce first-run friction.
Overhauled engine behavior, added load-kind metadata, and cleaned schema drift risks.
Added variable weekly schedules and a canonical exercise library to support serious programming.
Dashboard became a configurable command center with widgets and an analytics surface.
Launched the marketing surface, wired analytics, and stabilized deploy workflows to protect velocity.
Refactored the routine builder for maintainability and introduced documentation discipline to prevent schema drift.
Improved trust in local-first by adding export/restore and strengthening session persistence.
Shipped training tools and added a post-workout ‘receipt’ for a stronger completion loop.
Added equipment configuration and plate loading so target weights respect reality.
Progression gained failure thresholds, bands got a proper model, and Texas Method shipped as a preset.
Added weight references between exercises with validation to prevent circular dependencies.
Added weight references between exercises with validation to prevent circular dependencies.
Added weight references between exercises with validation to prevent circular dependencies.