Inicio

Desarrollo Full Stack • 2014 - 2017

Welldoing.org

Fusionando un directorio de terapeutas y un blog en una única plataforma October CMS con un motor de emparejamiento algorítmico personalizado

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.

Panel de Control Unificado de Welldoing.org

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.