2025-10-23
v2.1.1
latestAdded
- 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