Telewellness Hub

The Challenge
Marta Hamilton approached Bright Sol Tech with a critical mission: migrate her existing WordPress-based wellness provider directory to a modern, scalable Ruby on Rails platform. The legacy WordPress system had significant limitations in search functionality, subscription management, and user experience that were hindering growth.
The new platform needed to serve as a comprehensive marketplace connecting wellness seekers with providers across mental health, nutrition, fitness, coaching, and other wellness disciplines. Key requirements included sophisticated search and filtering by location, specialty, and provider type; Stripe-powered subscription billing with multiple tiers; seamless migration of 300+ existing provider profiles and user data; and a polished, mobile-responsive experience.
The challenge was compounded by the need to preserve existing provider relationships, maintain SEO value through proper URL structures, and introduce a "legacy" plan tier for grandfathered users who wouldn't be required to pay.
Solutions Delivered
Ruby on Rails Web Platform
Built a comprehensive marketplace application featuring provider profiles with rich media support, public directory with advanced search, subscription management, and separate admin portals for platform administrators and providers.
Algolia Search Integration
Implemented lightning-fast search functionality using Algolia, enabling users to filter providers by wellness support areas, provider type, certified states, services offered, and more. Search results update instantly as users refine their criteria.
WordPress Data Migration
Developed a sophisticated data transfer system connecting to the legacy WordPress MySQL database through Rails ActiveRecord, mapping complex WordPress post meta structures to clean Rails models, and preserving all provider profile data, images, and relationships.
Stripe Subscription System
Integrated Stripe Checkout and Customer Portal for subscription management with multiple tiers (Premium, Partner, Legacy), 30-day free trials for Premium plans, webhook handling for subscription lifecycle events, and automatic profile visibility based on subscription status.
Provider Profile System
Created comprehensive provider profiles featuring customizable fields for specialties, certifications, languages, and services; profile and banner image uploads with automatic optimization; resources and media sections for videos, podcasts, and links; and social media integration.
Multi-Tier Admin System
Developed Motor Admin integration for platform administrators to manage users, verify providers, and configure system settings, alongside provider self-service tools for profile management.
Technical Stack
Backend Framework Ruby on Rails 7 Database PostgreSQL Search Engine Algolia Payment Processing Stripe (Checkout, Webhooks, Customer Portal) Background Jobs Sidekiq / Redis File Storage DigitalOcean Spaces + CDN Email Service Resend Analytics Segment → Mailchimp, Google Analytics Spam Protection Cloudflare Turnstile Error Monitoring Honeybadger Admin Portal Motor Admin CI/CD GitHub Actions Hosting DigitalOcean App Platform Marketing Site WordPress (WP Engine)
Key Features Implemented
User-Facing Features
- Advanced provider directory with instant search and filtering
- Provider profiles with rich media, credentials, and contact options
- Message providers directly through contact forms
- Click-to-call and schedule meeting functionality
- Share provider profiles via clipboard
- Mobile-responsive design across all pages
- Terms of service acceptance during registration
Provider Features
- Comprehensive profile editor with 30+ customizable fields
- Profile and banner image uploads with automatic cropping
- Resources and media management (videos, podcasts, links, products)
- Subscription plan selection with Stripe Checkout
- Subscription management via Stripe Customer Portal
- Account settings for email and password changes
- "Verified by TeleWellness Hub" badge for approved providers
Directory Search Capabilities
- Filter by wellness support areas (100+ options)
- Filter by provider type (Mental Health, Coach, Nutrition, Medical, etc.)
- Filter by certified states
- Filter by services offered
- Text search by provider name or business name
- Pagination with configurable results per page
- Clear all filters functionality
Admin Capabilities
- User and provider profile management
- Provider verification controls
- Subscription status monitoring
- Platform-wide configuration
- Legacy user management
Key Technical Challenges Solved
WordPress Data Migration Complexity
The WordPress database stored provider data across multiple tables (wp_posts, wp_postmeta, wp_terms, wp_term_relationships) with serialized PHP arrays. We solved this by:
- Connecting Rails to the WordPress MySQL database as a secondary database
- Creating ActiveRecord models for WordPress tables (WpUser, WpPost, WpPostMeta, etc.)
- Building extraction scripts to map WordPress meta fields to Rails attributes
- Handling duplicate emails by appending unique identifiers (email+identifier@domain.com)
- Preserving profile images by migrating to DigitalOcean Spaces
Legacy User Handling
Existing providers needed to maintain free access indefinitely while new users would require paid subscriptions:
- Created "legacy" plan type in the Contract model
- Legacy users display in directory without active Stripe subscription
- Clear messaging for legacy users about their grandfathered status
- Option for legacy users to upgrade to paid plans for additional features
Image Performance Optimization
Initial implementation suffered from slow image loading due to redirect-based ActiveStorage URLs:
- Switched to public ActiveStorage mode eliminating token-based redirects
- Implemented DigitalOcean CDN for faster delivery
- Created multiple image variants (thumbnail, square, banner sizes)
- Configured Algolia to use CDN URLs for search results
Stripe Webhook Reliability
Subscription status needed to stay synchronized between Stripe and the application:
- Implemented comprehensive webhook handling for all subscription events
- Added real-time Stripe API checks on critical pages to handle webhook delays
- Created fallback logic for subscription status verification
- Handled edge cases like rapid page navigation after checkout
Spam Prevention
The provider messaging feature attracted spam submissions:
- Integrated Cloudflare Turnstile captcha on message forms
- Blocked disposable email domains (1secmail, etc.) from registration
- Stored and tracked all messages for moderation capabilities
Key Milestones
March 2024 Project kickoff, app structure and authentication April 2024 Provider profiles, Stripe subscription integration May 2024 CI/CD setup, production server deployment, data migration scripts June 2024 Algolia search integration, directory functionality July 2024 MVP release, WordPress data migration to production August 2024 Homepage fixes, mobile optimization, analytics integration September 2024 Image performance optimization, UI refinements October 2024 Inactive profile handling, subscription management improvements November 2024 Cloudflare captcha, certified states search fix Ongoing Maintenance retainer, feature enhancements
Ongoing Engagement
TeleWellness Hub continues on an active maintenance retainer with Bright Sol Tech. Current and recent work includes:
- Bug fixes and performance optimization
- Search functionality enhancements
- Spam prevention improvements
- Provider profile feature requests
- WordPress marketing site updates
- Analytics and reporting improvements
- Infrastructure monitoring and maintenance
Business Impact
The platform successfully migrated 300+ provider profiles from WordPress to a modern Rails application with zero data loss. The new Algolia-powered search dramatically improved user experience, enabling visitors to find relevant providers in seconds rather than scrolling through paginated lists.
The Stripe integration enables sustainable revenue through subscription billing, while the legacy plan tier preserved relationships with existing providers. The mobile-responsive design ensures accessibility across devices, critical for users seeking wellness support on-the-go.
Provider engagement improved through the messaging system, with analytics tracking key interactions like profile views, message sends, and call button clicks via Segment integration with Mailchimp and Google Analytics.
Development Approach
The project followed an agile methodology with regular client demos and iterative refinement. Complex features like the WordPress data migration were tackled through careful planning, local database replication for testing, and incremental production deployments.
Third-party integrations (Stripe, Algolia, Segment) were implemented through dedicated service objects with comprehensive error handling and logging via Honeybadger. The Turbo/Hotwire stack enabled reactive UI updates without heavy JavaScript frameworks, keeping the codebase maintainable. Extensive use of Rails credentials and environment-specific configuration ensured secure management of API keys across development, staging, and production environments.
Related Project
Let’s Connect
With Us!




.png)

.png)