Emotional Wellness Platform
Full-stack development on a mental health platform featuring live classes, on-demand content, and therapist matching.
A mental health and emotional wellness startup offering live classes, on-demand content, and therapy matching services
Project Overview
Contributed to a comprehensive mental health and emotional wellness platform designed to make therapy and emotional fitness accessible to everyone. The platform offers a unique approach to mental health through “Emotional Pushups”—short, guided exercises led by licensed therapists—along with live group classes, on-demand video content, and one-on-one therapy matching services.
The Product
The platform serves both individual consumers and corporate wellness programs, offering:
- Emotional Pushups: Brief, targeted exercises designed to build emotional resilience and coping skills
- Live Classes: Group sessions led by therapists covering topics like anxiety management, communication skills, and stress reduction
- On-Demand Content: A library of recorded sessions and exercises available anytime
- Therapy Matching: Personalized matching with licensed therapists for ongoing one-on-one support
- Team Programs: Corporate wellness offerings that bring emotional fitness to the workplace
Technical Architecture
The platform is built as a sophisticated monorepo using yarn workspaces, enabling code sharing between web and mobile while maintaining deployment flexibility:
Web Application
- Backend: Ruby on Rails 6 with PostgreSQL, handling user management, subscriptions, scheduling, and content delivery
- Frontend: React with TypeScript, using Chakra UI for a consistent, accessible component library
- Background Processing: Sidekiq for handling asynchronous jobs like email notifications, payment processing, and analytics
- Payments: Stripe integration for subscriptions and class purchases
Mobile Application
- Framework: React Native with Expo, providing native iOS and Android apps from a shared codebase
- Navigation: React Navigation for seamless user flows between classes, content, and account management
Shared Infrastructure
- Packages: Shared TypeScript types, form utilities (Formik/Yup), and React hooks used across both platforms
- Media Storage: AWS S3 for video content, images, and user uploads
- Analytics: Segment integration for tracking user engagement and conversion funnels
- Email: Postmark for transactional emails and class reminders
- Error Tracking: Sentry for monitoring and debugging production issues
Key Contributions
Removing Friction from User Acquisition
Implemented a significant product change that allowed new users to sign up for Emotional Pushups classes without providing payment information upfront. This involved:
- Modifying the registration flow in the React frontend to conditionally skip the credit card form
- Updating the enrollment API to handle free-tier signups
- Ensuring analytics properly tracked the new acquisition funnel
This change enabled the business to offer truly free trial classes, reducing the barrier to entry and allowing more users to experience the platform’s core value proposition before committing to a subscription.
Production Infrastructure Optimization
Configured and optimized the Redis caching layer for the Heroku production environment:
- Set up Heroku Redis configuration for the Rails cache store
- Tuned cache settings for optimal performance with the platform’s read-heavy workload
- Ensured proper connection pooling for Sidekiq background workers
Development Environment Improvements
Updated local development setup documentation and configuration to improve the onboarding experience for new engineers joining the team, including Docker Compose configuration for local services.
Working in a Large Codebase
The monorepo architecture presented both challenges and benefits. Yarn workspaces enabled efficient code sharing—common types, validation schemas, and utility functions were maintained once and used everywhere. The trade-off was build complexity and the need to understand how changes in shared packages could affect multiple applications.
The codebase had grown to over 7,000 commits with contributions from a team of engineers, requiring careful attention to existing patterns and thorough testing before deployment.
Technologies Deep Dive
The technology choices reflected a focus on developer productivity and user experience:
- Chakra UI provided accessible, themeable components that maintained visual consistency while enabling rapid iteration
- Formik and Yup standardized form handling and validation across complex registration and scheduling flows
- Expo simplified mobile development by handling the complexity of native builds while allowing JavaScript-based development
- Heroku provided a managed platform that let the team focus on product development rather than infrastructure management
Technologies
Key Highlights
- Implemented feature to open up wellness class signups without payment requirement
- Optimized Redis cache configuration for Heroku deployment
- Contributed to monorepo with web and mobile applications