Welldoing.org es un directorio de terapeutas y plataforma de contenido de salud mental líder en el Reino Unido. El desafío consistía en fusionar dos sistemas fracturados —un directorio básico y un blog de WordPress separado— en una única plataforma SaaS cohesiva.
01. Las Excepciones
El negocio enfrentaba una deuda técnica crítica y barreras de UX que obstaculizaban el crecimiento. Operar en sistemas desconectados creaba fricción para los usuarios que intentaban encontrar ayuda:
- Arquitectura Fragmentada: Los usuarios que leían artículos no tenían un camino directo para reservar un terapeuta. Las dos bases de datos no se comunicaban entre sí.
- Fricción en el Emparejamiento: Encontrar al terapeuta “adecuado” era un proceso manual de prueba y error para usuarios vulnerables.
- Desconexión en las Reservas: Los terapeutas gestionaban sus propios sistemas de reservas por separado, lo que provocaba la pérdida de citas e ingresos.
02. La Arquitectura
1. Unificación de la Plataforma (October CMS)
Diseñé una migración completa, fusionando el blog y el directorio en una plataforma única y unificada utilizando October CMS (Laravel). Esto nos permitió construir modelos de “Terapeuta” personalizados que se vinculaban directamente a las etiquetas de contenido, creando un recorrido de usuario fluido desde la lectura hasta la reserva.
class Therapist extends Model {
public $belongsToMany = [
'specialties' => ['Welldoing\Directory\Models\Specialty']
];
}
2. El Algoritmo de Emparejamiento
Desarrollé un sistema a medida de “Emparejamiento de Terapeutas”. Este asistente guía a los usuarios a través de una serie de preguntas de diagnóstico y utiliza su ubicación para filtrar los resultados. La lógica puntúa a los terapeutas basándose en la relevancia para las necesidades específicas del usuario (ej. TCC, Psicoanálisis) y la proximidad, devolviendo las mejores coincidencias al instante.
3. Integración de Agenda y Stripe
Para cerrar el ciclo, construí un Sistema de Agenda personalizado integrado directamente en la plataforma.
- Disponibilidad en Tiempo Real: Los terapeutas gestionan sus horarios en un panel de control personalizado.
- Reserva Fluida: Los usuarios pueden reservar un horario directamente desde los resultados de búsqueda.
- Pagos con Stripe: Integré la API de Stripe para gestionar pagos seguros, automatizando los desembolsos a los terapeutas.
// Lógica de Reserva Simplificada
public function bookSlot($user, $therapist, $slot) {
Stripe::charge($user->token, $slot->price);
$this->diary->reserve($therapist->id, $slot->time);
return "Appointment Confirmed";
}
03. Resultados del Sistema
La unificación transformó a Welldoing.org de un blog a una plataforma SaaS funcional.
- Recorrido de Usuario Unificado: Los usuarios pueden pasar de leer un artículo a reservar una cita confirmada en menos de 2 minutos.
- Generación de Ingresos: El sistema automatizado de reservas y pagos creó una nueva fuente de ingresos para la plataforma.
- Escalabilidad: El stack tecnológico de October/Laravel proporcionó una base robusta para años de crecimiento.