Boost My Mood — Online Therapy Matching Platform

Laravel 12
Livewire 3
Stripe
AWS S3
Eversign
Graylog

The Brief

A mental health startup needed a platform to connect clients seeking therapy with qualified therapists. The matching needed to be intelligent — based on the therapist’s specialism areas, the severity of the client’s needs, and demographic sensitivity preferences. Beyond matching, the platform needed to handle the full therapy lifecycle: digital contracts, subscription billing, appointment scheduling, session notes, and document management.

The Approach

The matching algorithm was the core architectural challenge. Therapists register their specialisms with severity levels (major, moderate, minor) and can specify demographic sensitivity preferences. Clients describe their needs during onboarding. The system scores potential matches based on specialism alignment, severity capability, availability overlap, and client preferences, presenting ranked options for the client to choose from.

Stripe handles subscription billing via Laravel Cashier, with a credit system that allocates session credits based on the subscription tier. Eversign integration manages the therapeutic contracts that need to be signed before sessions begin.

The Build

The therapist onboarding flow collects qualifications, specialisms with severity ratings, available time slots, session formats (video, phone, in-person), and pricing. An admin review step verifies credentials before the therapist appears in matching results.

Client matching presents a curated list of suitable therapists with availability-based booking. The booking system uses conflict detection to prevent double-booking and handles timezone differences for remote sessions. Calendar integration syncs appointments to both parties’ calendars.

Stripe subscription management includes smart retry logic for failed payments, grace periods before access restriction, and a credit system where unused session credits expire on subscription cancellation rather than carrying forward indefinitely. This required careful state management to track credit allocation, usage, and expiry conditions.

Digital contracts are generated from templates and sent via Eversign for electronic signature. Webhook integration tracks signature status and unlocks booking capability once both parties have signed. Contract documents are stored securely on AWS S3.

Session notes are therapist-only, stored with encryption at rest, and never visible to clients. Document attachments (worksheets, resources) can be shared between therapist and client via a secure file sharing interface backed by S3 with signed URLs.

Graylog integration provides centralised logging for operational monitoring and debugging without sensitive clinical data leaving the application.

The Result

The platform launched with a cohort of therapists and grew steadily. The matching algorithm significantly reduced the time from initial client registration to first session — a metric that directly correlates with therapy outcomes. Automated billing and contract management eliminated the administrative overhead that had been consuming therapist time in their previous workflow.

Let's build something great

Tell us about your project and we'll get back to you within one working day. No hard sell, just a straight conversation about what you need.

Start a conversation