Reflecta
updates

|

2025-10-23

v2.1.1

latest

Added

  • PMF Survey: Product-market fit survey automatically appears after 5 days for user feedback collection with smart display logic (dismissable with 7-day snooze, permanently hidden after completion)

Improved

  • Session Scheduling: Calendar invite toggle now defaults to ON when scheduling coaching sessions, making it easier to add sessions to your calendar
  • Announcement Banner: Enhanced mobile responsiveness with better layout stacking, centered content, and optimized spacing for smaller screens
2025-10-22

v2.1.0

Added

  • New Onboarding Coaching Model: We improved our onboarding coaching model based on user feedback.
  • Feature Interest Collection: Added onboarding step to collect user interest in upcoming features (Daily Check-Ins and Weekly Reviews) with feedback modal for capturing user needs and use cases
  • Global Loading Screen: Branded loading screen during initial app load that prevents content flashing and ensures smooth transitions between authentication states, onboarding, and main app with theme-aware spinner animation
  • Delete Account: Added ability to delete your account from the mobile app with complete data cleanup
  • Onboarding Analysis Script: Added internal tool to analyze onboarding sessions and extract user problems/intentions using AI
  • Mastra Integration: Added experimental Mastra app for exploring AI agent workflows and tools
  • TanStack Query Helpers: Added utility functions for safe nested object updates in Firestore and optimistic cache updates
  • Blog Section: Dedicated blog section to share content.

Improved

  • Coaching Message Scheduling: Enhanced daily message scheduling to properly calculate and update nextCoachingMessageDue timestamp when users enable or modify coaching message settings across account page and daily check-in card
  • Feedback Analysis: Improved AI-powered feedback processing with explicit JSON response formatting and robust fallback handling for malformed responses
  • Mobile Onboarding: First name step now automatically skips when OAuth providers (Apple/Google Sign In) provide the user's name, improving Apple App Store compliance and user experience
  • Mobile Account Management: Enhanced account settings with action sheet menu for iOS and improved account portal access
  • Mobile Authentication: Added error handling and recovery flow for authentication issues with reset and retry functionality
  • Feedback Route Tracking: Feedback submissions now include the page where they originated for better issue diagnosis
  • Feedback Processing: Switched Linear feedback analysis to Claude Haiku 4.5 for faster response times while maintaining quality
  • Account Page: Complete redesign with modern card-based UI for commitments and scheduled sessions, improved visual hierarchy, and streamlined management actions
  • Commitments Overview: Enhanced commitment cards with better status indicators, streak tracking, and intuitive delete actions
  • Scheduled Sessions: Improved session cards with cancel/delete functionality, better date displays, and clearer session status
  • Code Quality: Extracted reusable components (CommitmentCard, ScheduledSessionCard, ConfirmationModal) reducing account page by 348 lines (20%)
  • Mobile App Experience: Enhanced mobile app to match the quality and features of the web app including improved onboarding, better settings screen, and more reliable authentication
  • Onboarding Design: Refreshed onboarding screens with modern design, better visual hierarchy, and smoother progress indicators
  • Intention Input Validation: Added helpful toast notifications when users pause typing with invalid input, guiding them to provide at least 2 words
  • App Performance: Faster app loading times and more responsive interactions throughout the app
  • Subscription Management: More reliable subscription status updates and eliminated duplicate notifications
  • Feedback Submission: Instant response when submitting feedback (down from 3-5 second wait)
  • Coaching Messages: Redesigned message generation system (V2) for more focused, actionable daily messages that are easier to respond to
  • Coach Responses: Your coach now provides more concise, focused responses (1-2 sentences + one question) for better conversation flow
  • Personalized Coaching: All coaching messages now use your first name for a more personal experience
  • AI Quality: Upgraded to latest AI model (Claude Sonnet 4.5) for higher quality coaching responses
  • Documentation: Enhanced AGENTS.md with comprehensive structure and streamlined technical documentation across the repository
  • Code Organization: Reorganized lib folder with clear client/server separation for better maintainability
  • Data Safety: All mutations now use deep merge to prevent accidental data loss when updating nested objects

Fixed

  • Privacy & Terms Pages: Added support page link to footer navigation for better accessibility
  • Date Calculations: Fixed bug where "due today" items were incorrectly showing as "due tomorrow" by comparing calendar dates instead of time differences
  • Session Management: Added ability to cancel and permanently delete scheduled coaching sessions
  • Account Deletion: Fixed account deletion to properly cancel and remove RevenueCat subscriptions, ensuring complete data cleanup and compliance
  • Journal Typing Bug: Fixed race condition where characters would disappear when typing in journal entries due to TanStack Query invalidation overwriting local editor state
  • Onboarding Issues: Resolved critical bug that could cause onboarding to generate multiple times simultaneously
  • Meditation Generation: Fixed issue where meditation generation could get stuck in an infinite loop
  • Mobile Subscription: Fixed subscription status not syncing properly on mobile devices
  • Mobile Authentication: Resolved various login and session issues on mobile app
  • Scheduled Sessions: Fixed display issues with scheduled coaching sessions in mobile app
  • Settings Screen: Fixed bugs in mobile settings screen
  • Commitment Emails: Fixed formatting issues with commitment check-in cards in emails
  • Text Display: Improved text wrapping in coaching messages for better readability
  • Message Formatting: Better formatting and styling of coaching messages on mobile
2025-10-14

v2.0.1

Added

  • Feature Gating System: Subscription-based feature limits with daily coaching message caps (3/day free, unlimited pro)
  • Feedback System: In-app feedback collection with automated Linear issue creation, AI-generated titles, priority assessment, and Loops email integration
  • Account Management: Complete account deletion and reset onboarding features with comprehensive data cleanup and RevenueCat integration
  • Onboarding Enhancements: Privacy mode indicator, reactivation flow for abandoned journeys (24hr inactivity), journey progress tracking with status and currentDay fields
  • Referral Tracking: Campaign attribution via ?ref= URL parameter with 90-day persistence for measuring marketing effectiveness
  • Mobile User Tracking: Automatic lastSeenAt tracking with 5-minute debouncing for both web and mobile users
  • Analytics Package: Type-safe PostHog integration with AnalyticsProvider and comprehensive 588-line documentation
  • Developer Tools: Async coach simulator for testing message generation, environment setup scripts, and comprehensive setup guides

Improved

  • Performance: Event-based RevenueCat initialization (vs 500ms polling), optimized SubscriptionContext re-renders, async feedback submission for instant response
  • Onboarding Quality: Upgraded to Claude Sonnet 4.5, restructured coaching prompts for concise responses, personalized messaging with first names
  • Coaching Architecture: Complete refactor to service-oriented design with RouterService, MessageService, CoachingSessionService, and SchedulerService
  • Development Experience: Disabled TanStack Query caching in dev mode, improved commitment scheduler security, markdown to TypeScript prompt loading
  • Analytics: Enhanced referral tracking with source property, moved signup tracking to onboarding page load for reliability
  • Type Safety & Security: Comprehensive Firestore security rules, database indexes, mobile type consistency with shared-types

Fixed

  • Critical Bugs: Onboarding triggered 4x simultaneously, infinite meditation generation loop, mobile subscription sync in production
  • Subscription Flow: Duplicate toast notifications, trial signup loop checking isPro + isInTrial states, timezone update triggering on every auth change
  • User Experience: Missing email on signup, mobile markdown rendering, coaching message text wrapping, email card parsing for commitments
  • Analytics: PostHog identify calls now properly update user properties during onboarding (firstname in FirstNameStep via mutation success callback, isOnboardingCompleted in completeOnboarding function)
  • Build & Deploy: Expo EAS build dependencies, package management peer conflicts, proper .npmrc and .easignore configuration
2025-10-06

v2.0.0

Added

  • Landing Page: Professional public landing page with hero section, features bento grid, how-it-works steps, CTA, FAQ, testimonials, and team letter
  • Meditation System: AI-powered custom meditation generation with dedicated onboarding step, interactive time selector (5-25 minutes), and seamless integration
  • Onboarding Experience: Complete redesign with intention-setting, coaching preferences, personalized AI coaching session, post-coaching insights, and 5-day guided experience plans
  • Onboarding Journaling Prompt: New prompt type for onboarding journaling activities with personalized reflection questions
  • RevenueCat Integration: Subscription management with 7-day free trial and monthly Pro subscription flow
  • Email Notifications: Web users can now receive coaching messages via email as an alternative to mobile push notifications, with automatic fallback strategy (push → email) and user-configurable toggle in account settings
  • RevenueCat Webhook: Automatic subscription sync from RevenueCat to Firestore via webhooks for reliable server-side enforcement
  • Feature Gating System: Implemented comprehensive subscription-based feature gating with daily coaching message limits (3/day for free, unlimited for pro)
  • Shared Analytics Package: Created @reflecta/analytics workspace package with type-safe PostHog integration for both Next.js and Expo apps
  • Analytics Provider: Automatic user identification and lifecycle management with AnalyticsProvider in Next.js app
  • Analytics Events: Added 10 new event types for comprehensive user journey tracking including onboarding steps, subscription changes, coaching interactions, and journaling activities
  • Analytics Documentation: Comprehensive 588-line guide covering setup, usage, troubleshooting, and best practices
  • Async Coach Simulator: Development tool for testing coaching message generation at different stages without waiting for actual days to pass
  • Async Coaching Documentation: Complete 273-line documentation for async coach simulator tool with testing scenarios and troubleshooting guide
  • Mintlify Documentation: Migrated all documentation to Mintlify platform with enhanced navigation, search, and interactive components
  • Monorepo Architecture: Centralized @reflecta/shared-types package for consistent type definitions across Next.js and Expo apps with legacy compatibility
  • Setup Automation: Cross-platform setup scripts (macOS, Linux, Windows) with automated development environment configuration
  • Branch Protection: Automated GitHub workflow enforcement and validation checks
  • Branding Assets: Custom favicon and app icons with SVG and PNG formats for cross-platform support and PWA compatibility
  • Account Settings Page: Comprehensive settings interface with theme preferences, coaching message controls, active commitments, and scheduled sessions overview
  • Last Seen Tracking: Automatic user activity tracking with lastSeenAt timestamp updates on visibility changes
  • Subscription Context: Centralized subscription state management with SubscriptionProvider replacing old hook-based approach
  • Usage Display: Real-time coaching message usage tracking with automatic daily resets and formatted countdown timers
  • Upgrade Modals: Beautiful modal UI for pro feature upgrades and subscription cancellation confirmations
  • Session Time Tracking: Automatic tracking of active time invested in the app with minute-accurate session monitoring
  • Theme Management: Seamless dark/light/system theme switching with Firestore sync and localStorage caching for instant theme application
  • Firebase Authentication Logging: Comprehensive debug logging throughout authentication flow for easier troubleshooting
  • Firestore Security Rules: Added comprehensive security rules for onboardingJourneys collection with proper user ownership validation
  • Mobile Config Type: Added shared type definition for mobile app configuration including forced update feature with minimum required version

Improved

  • Landing Page Design: Redesigned with modern animations including typing effects, scroll-based text reveals, parallax hero image, and auto-rotating feature tabs with progress indicators and hover-pause functionality for enhanced visual appeal and user control
  • Landing Page Performance: Optimized all scroll event listeners with requestAnimationFrame and passive listeners, eliminated render mutations, and added font display swap to prevent layout shifts
  • Landing Page Accessibility: Added semantic HTML structure, ARIA attributes for feature tabs and FAQ accordions, improved keyboard navigation support, and added cursor-pointer classes throughout for better UX
  • Landing Page Content: Updated hero image to mockup screenshot, refined messaging with 7-day free trial mention, improved company logo sizing, and enhanced CTA consistency
  • App Structure: Reorganized routes under /app path with improved authentication middleware separating public and protected areas
  • Authentication Flow: Cleaned up redirect logic and improved auth-related hooks for better reliability
  • Sign Up Tracking: Moved analytics tracking from FirstNameStep to onboarding page load for more reliable signup event capture with 10-minute detection window
  • Type Safety: Standardized uid/userId/id naming conventions and resolved all TypeScript compilation errors
  • Type Schema System: Restructured shared-types package with version control, clear Firestore mappings, and comprehensive inline documentation for all data models
  • Firebase Integration: Fixed collection naming (UserInsights → userInsights) and security rules for production readiness
  • Onboarding Flow: Modular component architecture with debounced auto-save, input validation, improved user data collection, and fixed session initialization race conditions with proper dependency tracking and state management
  • Onboarding Message Personalization: Enhanced all onboarding prompts to use user's first name when available for more personal coaching experience
  • LLM Model Upgrade: Upgraded onboarding message generation from Claude Sonnet 4 to Claude Sonnet 4.5 for improved quality
  • Prompt Loading: Converted onboarding experience generation prompt from markdown file to TypeScript constant for improved reliability and faster load times
  • Meditation Generation: Streamlined API with consistent 2-minute duration for onboarding and enhanced error handling, optimized with pre-generated audio segments reducing latency and cost by 80%
  • Coaching System: AI model tuned for onboarding conversations with automatic session completion and better UX
  • Coaching System Architecture: Complete refactor with separated concerns - useCoachingChat for streaming, useEnsureCoachingSession for session lifecycle, and modular UI components
  • Coaching Session Management: Streamlined session creation with automatic document initialization and proper auth handling
  • Coaching Message Streaming: Local-first optimistic UI with real-time message streaming and automatic Firestore sync
  • Coaching API: Added server-side usage limit enforcement with proper error responses for exceeded limits
  • Code Organization: Moved coaching components to dedicated /coaching folder for better maintainability
  • Account Page: Enhanced with usage statistics, subscription management, and pro upgrade prompts
  • Hook Architecture: Refactored useSubscription to use Context API, preventing multiple RevenueCat SDK instances
  • Documentation Structure: Reorganized docs with clear sections for team rules, setup guides, and platform-specific documentation
  • Shared Package Build: Added postinstall script to automatically build shared packages after dependency installation
  • Development Experience: Comprehensive SETUP.md guide, improved README, and automated setup commands
  • Analytics Event Tracking: Implemented comprehensive analytics event tracking throughout Next.js app including onboarding steps (coaching started/finished, meditation completed/skipped, onboarding completed), subscription changes (trial started, plan upgraded, plan canceled), coaching interactions (user messages sent), and journaling activities (page created/updated)
  • Onboarding Data Generation: Enhanced LLM retry logic to wrap both API call and JSON parsing in retry mechanism, improving resilience against malformed responses with better error logging
  • Analytics User Identification: Added isOnboardingCompleted trait to PostHog identify calls for email notification segmentation and improved user lifecycle tracking across both web and native platforms
  • RevenueCat Integration: Fixed entitlement identifier to match dashboard configuration, added pro offering helper utility, implemented proper user logout and session cleanup to prevent subscription data leakage between users, and added tab visibility-based subscription status refresh
  • Trial Signup Flow: Removed free version option from onboarding to require payment information upfront, maintaining 7-day free trial but ensuring higher-intent user signups with transparent messaging about trial and billing

Fixed

  • Firebase Security Rules: Resolved 'false for list' error in account page
  • Onboarding Redirect: Fixed post-onboarding redirect to properly route users to app
  • Onboarding Session: Fixed session ID handling to prevent React events from being passed as IDs
  • Session Loading: Resolved authentication and session loading race conditions causing blank screens
  • Session End Token: Updated from [sessionEnd] to [finish-end] for consistency with system expectations
  • Mobile Logout: Resolved infinite splash screen loop when logging out
  • Coaching Input: Fixed text disappearing when sending messages in web interface and message input state management
  • Build Issues: Resolved all monorepo build failures and TypeScript compilation errors
  • GitHub Actions: Fixed false positive in branch protection workflow blocking valid PR merges
  • Foundational Issues: Comprehensive cleanup of timezone handling, coaching message generation, and type definitions
  • Firestore Rules: Added missing security rules for asyncCoachingMessages, commitments, and scheduledSessions collections
  • Firestore Rules Security: Removed potentially insecure resource == null checks from read operations to prevent document probing
  • Firestore Indexes: Added comprehensive composite indexes for all collections to support complex queries and prevent runtime errors