O Welldoing.org é um diretório de terapeutas e uma plataforma de conteúdo sobre saúde mental líder no Reino Unido. O desafio era fundir dois sistemas fragmentados — um diretório básico e um blog WordPress separado — em uma única plataforma SaaS coesa.
01. As Exceções
O negócio enfrentava uma dívida técnica crítica e barreiras de UX que impediam o crescimento. Operar em sistemas desconectados criava atrito para os usuários que tentavam encontrar ajuda:
- Arquitetura Fragmentada: Usuários lendo artigos não tinham um caminho direto para agendar com um terapeuta. Os dois bancos de dados não se comunicavam.
- Atrito na Correspondência: Encontrar o terapeuta “certo” era um processo manual de tentativa e erro para usuários vulneráveis.
- Desconexão no Agendamento: Os terapeutas gerenciavam seus próprios sistemas de agendamento separados, levando à perda de consultas e receita.
02. A Arquitetura
1. Unificação da Plataforma (October CMS)
Eu arquitetei uma migração completa, fundindo o blog e o diretório em uma única plataforma unificada usando October CMS (Laravel). Isso nos permitiu construir modelos personalizados de “Terapeuta” que se vinculavam diretamente a tags de conteúdo, criando uma jornada de usuário perfeita da leitura ao agendamento.
class Therapist extends Model {
public $belongsToMany = [
'specialties' => ['Welldoing\Directory\Models\Specialty']
];
}
2. O Algoritmo de Correspondência
Desenvolvi um sistema personalizado de “Correspondência de Terapeutas”. Este assistente guia os usuários por uma série de perguntas de diagnóstico e usa a localização deles para filtrar os resultados. A lógica pontua os terapeutas com base na relevância para as necessidades específicas do usuário (ex: TCC, Psicanálise) e proximidade, retornando as melhores correspondências instantaneamente.
3. Integração de Agenda e Stripe
Para fechar o ciclo, construí um Sistema de Agenda personalizado integrado diretamente na plataforma.
- Disponibilidade em Tempo Real: Os terapeutas gerenciam seus horários em um painel personalizado.
- Agendamento Perfeito: Os usuários podem reservar um horário diretamente dos resultados da pesquisa.
- Pagamentos Stripe: Integrei a API do Stripe para lidar com pagamentos seguros, automatizando os repasses aos terapeutas.
// Booking Logic Simplified
public function bookSlot($user, $therapist, $slot) {
Stripe::charge($user->token, $slot->price);
$this->diary->reserve($therapist->id, $slot->time);
return "Appointment Confirmed";
}
03. Resultado do Sistema
A unificação transformou o Welldoing.org de um blog em uma plataforma SaaS funcional.
- Jornada do Usuário Unificada: Os usuários podem ir da leitura de um artigo ao agendamento de uma consulta confirmada em menos de 2 minutos.
- Geração de Receita: O sistema automatizado de agendamento e pagamento criou um novo fluxo de receita para a plataforma.
- Escalabilidade: A stack October/Laravel forneceu uma base robusta para anos de crescimento.