Back to Projects
April 2023 - September 2023 Full Stack

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

Ruby on Rails React TypeScript PostgreSQL Redis Sidekiq Chakra UI React Native Expo Heroku AWS S3

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