A comprehensive pass on the mobile experience — new design primitives, a redesigned Settings page, and a More bottom-sheet for the routes that didn't fit the tab bar.
New mobile design primitives used across the app
Settings page rebuilt with shared components, ARIA tabs, and proper focus management
Defense-in-depth pass: a Content Security Policy, IP-based rate limits on auth and billing endpoints, and WCAG fixes for status indicators that previously relied on color alone.
Content-Security-Policy header
IP-based rate limiting on auth and billing API routes
ARIA labels and aria-hidden across interactive and decorative elements
Non-color indicators for velocity and activity status (WCAG 1.4.1)
GitHub Actions CI/CD pipeline with lint, test, and Convex deploy
A redesigned onboarding wizard with animated steps, interactive goals, and stakeholder entry — plus a warm new landing page with feature sections and live charts.
Onboarding wizard redesigned with animated steps and a completion overlay
Pre-boarding experience for users who haven't started Day 1 yet
getDayNumber correctly resolves day index in your timezone before plan start
Landing page: warm theme, feature sections, charts, and contrast fixes