RALab conecta laboratórios e dentistas numa só plataforma: o dentista faz o pedido, o laboratório produz e entrega, e os dois acompanham tudo em tempo real — do orçamento à entrega.
O laboratório de prótese dentária vive um caos operacional invisível. Pedidos chegam por WhatsApp, papel e ligação. O acompanhamento é manual. A comunicação com o dentista se perde. E a gestão financeira mora em planilhas.
Ordens de serviço entram por canais soltos. Sem padrão, sem rastreio, sujeitas a erro e retrabalho.
O cliente (dentista) não tem visibilidade do status do seu trabalho. Cobra por telefone, gera ruído.
Produção, prazos, comissões e financeiro vivem fora de um sistema. Não escala, não dá métrica.
Uma plataforma única, multi-portal, que digitaliza toda a operação do laboratório e abre um canal direto e profissional com o dentista.
O dentista cria a ordem de serviço com odontograma interativo, acompanha o status em tempo real e conversa com o lab. É o coração do produto.
Gestão completa: OS, produção por etapas, clínicas, dentistas, catálogo de serviços, tabelas de preço, financeiro e chat.
Visão de toda a plataforma: laboratórios, assinaturas, faturas, planos, métricas (MRR, churn) e cobrança.
Do pedido à entrega, com comunicação e status em tempo real — sem WhatsApp solto, sem papel.
Cada laboratório é um tenant isolado. A receita é recorrente, por plano mensal, com cobrança via PIX/boleto (mercado brasileiro) ou cartão.
lab_has_feature() — não são apenas texto na
página de preços. Trocar preço ou limite de um plano é feito pelo painel admin, sem deploy.| Modo | Como funciona | Status |
|---|---|---|
| Manual | Admin emite a fatura, o lab paga (PIX/boleto manual), admin marca como paga e a assinatura é ativada/renovada por +1 mês. | Pronto |
| Automático (Asaas) | O lab gera a cobrança PIX/boleto pelo próprio painel; o gateway confirma o pagamento via webhook e ativa a assinatura sozinho. Dunning automático em falha. | Estrutura pronta — falta plugar a key |
Aplicação single-page (React) sobre um backend serverless gerenciado (Supabase: Postgres + Auth + Realtime + Storage + Edge Functions). Sem servidor para manter.
| Camada | Tecnologia |
|---|---|
| Front-end | React 18 + Vite + TypeScript, Tailwind CSS, shadcn/ui (Radix) |
| Estado / dados | TanStack Query (cache + sincronização), React Hook Form + Zod |
| Backend | Supabase — Postgres gerenciado, Auth, Realtime, Storage |
| Lógica server | Funções SQL SECURITY DEFINER + Edge Functions (Deno) |
| Integrações | Asaas (pagamento), Resend (e-mail), Evolution API (WhatsApp) |
| Deploy | Cloudflare Pages (front) + Supabase (backend) |
| Domínio | Tabelas |
|---|---|
| Tenant & pessoas | labs, lab_members, dentists, clinics, profiles, user_roles |
| Operação | orders, order_items, order_stage_history, order_attachments, production_stages |
| Catálogo | services, service_categories, price_tables, price_table_items |
| Comunicação | conversations, chat_messages, notifications |
| Billing | plans, plan_features, subscriptions, invoices, usage_counters, coupons |
O ponto mais crítico de um SaaS multi-tenant: garantir que um laboratório nunca veja os dados de outro. No RALab isso é garantido no banco, não no front.
Toda tabela tem políticas no Postgres que filtram cada linha por lab_id e
pelo papel do usuário. Mesmo que o front falhe, o banco recusa o acesso. A segurança é estrutural.
admin (dono do SaaS), lab_owner, lab_employee e dentist — cada um enxerga exatamente o que deve. O dentista, por exemplo, só vê as próprias OS.
Operações sensíveis (criar OS atômica, cobrança, métricas cross-tenant) usam funções
SECURITY DEFINER que validam o papel internamente antes de agir.
Os fluxos críticos foram testados autenticando como usuário real — incluindo a prova de que um dentista não consegue ver ou criar dados fora do seu escopo.
RLS por papel, guards de acesso, isolamento multi-tenant, vínculo de identidade.
Dentista cria OS (odontograma + serviços), acompanha status, conversa com o lab. O pitch do produto, funcionando.
Planos, assinaturas, faturas, entitlements, painel de super-admin com métricas (MRR) e cobrança manual operacional.
Notificações em tempo real + sino + confirmação de leitura no chat. Canais e-mail/WhatsApp: estrutura pronta.
Cobrança automática via Asaas (PIX/boleto), e-mail (Resend) e WhatsApp (Evolution) — Edge Functions escritas, faltando apenas conectar as chaves.
Anexos de radiografia, kanban de produção com SLA, comissões, contas a pagar, PDF da OS.
Cada laboratório traz seus dentistas para a plataforma. Quanto mais dentistas usam, mais difícil trocar de fornecedor.
SaaS por assinatura com baixo custo marginal — infra serverless escala sem time de operações.
PIX/boleto nativos e WhatsApp como canal — exatamente onde o mercado de laboratórios já está.