Changelog

What we've been shipping

We move fast on small things and slow on big things.

Pitch-readiness sweep

Apr 27, 2026

  • Prime page now requires an explicit ‘Begin Prime’ tap before audio plays
  • Soundscape engine no longer clicks when switching options; ‘Fire’ sounds like fire
  • Visual reinforcement is visible in the player view with a fade-in entrance
  • Personalised first-session CTA on the dashboard for new users
  • Mobile sticky header is logo + 44px menu only; controls live in the slide-out
  • Celebratory toast on session completion (streak + XP + achievements)

Internationalisation pass

Apr 26, 2026

  • Privacy controls fully translated EN/ES
  • Practice, library, breathwork, onboarding, settings page scaffolding wired to next-intl
  • Player UI scaffolding translated EN/ES (164 keys)

Validation-launch foundations

Apr 25, 2026

  • BILLING_MODE switch lets us run validation without charging cards
  • Public /pricing page in EUR with Premium €9.99 + Pro €19.99
  • Programs €19/29/49 tiles wired to early-access intent capture
  • Admin funnel view: 7-day / 30-day event counts, willingness split, conversion rates
  • <PremiumGate /> preview-with-CTA pattern across journal / sleep stories / cinematic

Email + DB-driven mail provider

Apr 24, 2026

  • SMTP / Resend selectable from the admin panel; ‘Send test email’ stamps the active provider
  • Cascade delete on AdminPasswordResetRequirement
  • AbortController timeouts on OpenAI / Ollama AI generation
  • ESLint: a11y + security + unused-var rules elevated

PWA polish + favicon

Apr 23, 2026

  • Browser favicon wired through metadata.icons (was falling back to a generic glyph)
  • Install prompt for Android Chrome + ‘Add to Home Screen’ hint for iOS Safari
  • Service worker update toast on new deploys
  • Global iOS audio unlock on the first session-link click