Uma plataforma de bem-estar com IA, e o harness que prova que é segura

Uma API em Django e uma aplicação React que suportam subscrições de consumidor, um portal para empresas e um marketplace de telemedicina - com um motor de recomendação ancorado em trinta mil soluções extraídas e um harness Monte Carlo que correu cento e vinte mil sessões sintéticas antes do lançamento.

120k sessões sintéticas no harness de segurança
30k soluções indexadas para retrieval
10 integrações com wearables
0 casos de crise mal geridos no lançamento
O MEU PAPEL
Backend, front end, os motores de recomendação e de retrieval, o harness de avaliação, os pagamentos e o back office de admin.
STACK
Django e DRF, React 18, PostgreSQL, Redis, Celery, Stripe, Zoom Video SDK, dois fornecedores de IA por trás de uma só abstração.
A PARTE MAIS DIFÍCIL
Provar uma propriedade de segurança em vez de a afirmar. Qualquer um consegue acrescentar um guardrail; mostrar que se aguenta em cem mil caminhos é o trabalho a sério.

A situação

Um produto de wellness mental com três negócios lá dentro: uma subscrição para consumidores, um portal para empregadores vendido a empresas para os seus colaboradores e um marketplace onde os utilizadores marcam sessões de vídeo com profissionais. Por cima de tudo isso, um motor de recomendação que sugere o que uma pessoa deve fazer a seguir, a partir de como diz que se sente.

O terceiro é a razão pela qual vale a pena escrever sobre este projeto. Um motor de recomendação que sugere um exercício de respiração a alguém ligeiramente stressado é uma funcionalidade agradável. O mesmo motor a sugerir um exercício de respiração a alguém em crise é uma falha grave. A pergunta de engenharia não é como se constrói - é como sabes que não vai fazer isso.

O que construí

Um backend Django e DRF com uma aplicação React 18 à frente, entregues como um único sistema: subscrições e faturação, o portal para empregadores com a sua própria gestão de lugares, o marketplace de telemedicina sobre o Zoom Video SDK, as funcionalidades de comunidade, gamification e um back office administrativo completo para a equipa editorial.

O motor de recomendação

Um híbrido, não um modelo puro. De um check-in estruturado resulta uma avaliação por níveis do estado do sistema nervoso, e essa nota conduz uma amostragem ponderada de um catálogo, em vez de uma lista estática ordenada - por isso o contexto ganha à popularidade, e duas pessoas em estados diferentes nunca recebem a mesma resposta só porque um elemento está bem cotado em geral. Os slots de descoberta, com um cooldown, impedem o catálogo de colapsar sobre os mesmos vinte elementos, e o hot path contorna completamente o ORM, porque corre em cada ecrã.

Dois fornecedores de IA estão por trás de uma única abstração, comutáveis a partir do admin, com caching das respostas para manter o custo por utilizador previsível. A escolha do fornecedor é uma decisão de configuração, não de arquitetura - o que contou logo nesse mesmo ano, quando os preços mudaram.

Retrieval que se mantém ancorado

Cerca de trinta mil soluções distintas foram extraídas de uns noventa e cinco livros e indexadas para retrieval. A ancoragem é o objetivo todo: o sistema responde a partir desse corpus e não a partir da impressão geral de um modelo sobre conselhos de wellness. A ponderação pela adequação a situações de crise mantém as sugestões inadequadas longe dos estados graves, os limites de diversidade impedem uma única fonte de dominar, e um índice de nutrição em whitelist impede o modelo de derivar para conselhos médicos que não lhe compete dar.

O coach conversacional por cima tem memória persistente entre sessões, um controlador de cadência que empurra a conversa para uma ação concreta em vez de a deixar vaguear agradavelmente, e uma máquina de estados de moderação com três avisos para conteúdo que deve terminar a troca e passar o caso a alguém.

A parte de que mais me orgulho

Nada do que está acima vale seja o que for como simples afirmação. Por isso construí um harness Monte Carlo que gera utilizadores sintéticos com estados variados e adversariais e os faz passar pelo motor real.

Cento e vinte mil sessões em duas execuções, a verificar duas propriedades: que nenhuma sessão em estado de crise recebe alguma vez uma recomendação inadequada e que nenhum elemento do catálogo é inacessível - um cartão morto é conteúdo que alguém escreveu e que ninguém vai ver. Ambas se mantiveram.

O harness está exposto como uma ação de um só clique no admin, por isso a equipa editorial volta a executá-lo depois de cada alteração de conteúdo, em vez de esperar por um engenheiro. É essa a parte que faz dele uma propriedade de segurança e não uma captura de ecrã do dia do lançamento: é verificado pelas pessoas que o podem partir, exatamente no momento em que o poderiam partir.

Uma funcionalidade de IA que ninguém mediu não é uma funcionalidade. É um risco que ninguém pôs no preço e que por acaso dá bem em demo.

Comércio e conformidade

Subscrições Stripe com um motor bilingue de planos e descontos editável a partir do admin, faturação eletrónica com emissão automática e suspensão por atraso de pagamento, um motor de comissões para embaixadores em vários níveis, dez integrações com wearables por OAuth e scoring de leads que combina regras, um modelo e uma passagem por IA.

O que faria de outra maneira

Escreveria o harness de avaliação antes do motor, e não pouco depois. Construí o recomendador, depois construí a coisa que o demonstra - e perdi uma semana a alterar o recomendador para o poder testar. Se tivesse partido de «o que vou precisar de demonstrar sobre isto?», o desenho teria saído melhor e uma semana mais cedo.