Plataforma WhatsApp + IA.
O coração da operação digital da IRB. Um monorepo com oito aplicações que cobrem atendimento por WhatsApp, painel interno, agendamento público, IA conversacional e integrações.
O que é
Um único repositório (irb-whatsapp-ai) reúne todas as aplicações que conversam entre si. A IRB ganha um sistema completo onde o paciente entra pelo WhatsApp ou pelo site público, é atendido por uma assistente virtual com IA, e toda a operação acompanha pelo painel interno.
As oito aplicações
apps/api — API REST
Backend principal em Fastify + TypeScript. 27 módulos de rota cobrem todos os domínios da operação: autenticação, pacientes, médicos, agendas, agendamento, exames, conversas, webhooks, CRM, assinaturas, PDV, financeiro (faturamento, contas a pagar/receber, fluxo de caixa), farmácia, laboratório, ambulatorial, teleconsulta, dashboard, hub central, IGS, usuários e configurações.
apps/ai — Pipeline de IA conversacional
- Classificadores de intenção para entender o que o paciente quer
- Máquina de estados que conduz a conversa
- Integração com OpenAI (modelo
gpt-4o-mini) - Fallback automático para Claude quando há erro ou estouro de quota na OpenAI
- Prompts especializados por contexto
- RAG (Retrieval-Augmented Generation) para consultar a base de conhecimento
- Processamento de áudio (transcrição de mensagens de voz)
- Memória de contexto entre mensagens
apps/worker — Processadores em fila
Workers BullMQ que rodam tarefas pesadas em background: envio de mensagens WhatsApp, sincronização com Klingo, processamento de mídia, fluxos de botões interativos. Garante que o usuário não espera por operações lentas.
apps/dashboard — Painel interno
Aplicação React (Vite) com 30 telas para a equipe operar:
- Atendimento: Conversations, Chat, WorkflowDashboard
- Operação clínica: Schedules, Pharmacy, LabTests, OPDVisits, Teleconsultation
- Comercial: CRMPipeline, CRMCampaigns, CRMMetrics, Subscriptions, Plans, PDV
- Financeiro: Finance, FinanceCadastros, Billing, AccountsPayable, AccountsReceivable, CashFlow, DailyPayments, PaymentOrders, Reimbursements
- Indicadores: Dashboard, Indicators, Metrics
- Administração: Hub, Settings, Users, Login
apps/booking — Site público de agendamento
Aplicação React standalone para pacientes agendarem consultas pela web. Mostra slots em tempo real puxando direto da agenda da Klingo. Fluxo escalonado, sem fricção.
apps/site — Site institucional
Aplicação separada para a presença pública da IRB.
apps/teleconsulta — Sala de teleconsulta
Aplicação dedicada ao atendimento por vídeo.
apps/sync-klingo — Sincronização Klingo
Serviço dedicado para manter pacientes, médicos e agendas sincronizados com a Klingo via fila BullMQ, com retries e validação.
Pacotes compartilhados
packages/database— modelos PostgreSQL (Prisma) e MongoDB (Mongoose), reutilizados em todas as appspackages/shared— tipos TypeScript e utilitários comuns
Tamanho
- ~73.000 linhas de TypeScript
- 314 arquivos
.ts/.tsxsó nas apps - 8 aplicações
- 2 pacotes compartilhados
- 27 módulos de rota na API
- 30 telas no painel
Onde está rodando
Servidor de produção em 187.77.62.141, orquestrado via Docker Compose. Containers: irb-api, irb-worker, irb-dashboard, irb-postgres, irb-redis, irb-mongo, irb-bullboard. Detalhes completos na seção Infraestrutura.