Milsaca

- ESTÚDIO
- MILWEB
- TIPO
- PRODUTO DIGITAL
- STATUS
- EM DESENVOLVIMENTO
02 / A IDEIA
SaaS sob medida · plataforma multi-tenant
Um setor inteiro rodava no improviso entre planilhas e WhatsApp, sem um sistema único.
01 / 01
Isolamento por corretora_id garantido no banco, não na aplicação. RLS em toda tabela.

02 / 02
Motor de classificação da IN 8/2003 (MAPA) em pacote puro, com PDF + QR de verificação pública.

03 / 03
CEPEA, ICE NY Coffee C e PTAX (BCB) sincronizados via edge function agendada.

04 / 04
Next.js 16 e Expo Router compartilhando o mesmo Supabase por um pacote de clients em camadas.

01
02
03
04
04 / POR BAIXO DO CAPÔ
01Monorepo Turborepo + pnpm com três frentes num só backend: Next.js 16 (App Router) pro web, que sozinho já cobre três painéis (produtor, cor…+
Monorepo Turborepo + pnpm com três frentes num só backend: Next.js 16 (App Router) pro web, que sozinho já cobre três painéis (produtor, corretora e admin da plataforma), e Expo Router pro app mobile do produtor. Web e mobile falam com o mesmo Supabase através de um pacote compartilhado (@milsaca/db) com três camadas de client: uma com cookie de sessão pro server, uma sem cookie (só a chave pública) pra rotas com cache, e uma com secure-store pro mobile.
02Multi-tenant de verdade, não só "filtro no WHERE": toda tabela do schema público tem Row Level Security habilitada, sem exceção, com isolame…+
Multi-tenant de verdade, não só "filtro no WHERE": toda tabela do schema público tem Row Level Security habilitada, sem exceção, com isolamento por corretora_id garantido no banco, não na aplicação. Papéis (produtor/corretora/admin) vivem num array na tabela de perfil, permitindo o mesmo e-mail acumular mais de um papel; o admin da plataforma fica numa tabela própria, fora do enum de papéis, pra não vazar por engano num RLS mal escrito.
03A decisão de autenticação é um bom exemplo de aprender com o próprio produto: começou com magic link e foi trocada por OTP de 6 dígitos por …+
A decisão de autenticação é um bom exemplo de aprender com o próprio produto: começou com magic link e foi trocada por OTP de 6 dígitos por e-mail, porque o Gmail Safe Links faz prefetch automático do link (pra escanear por segurança) e acaba "queimando" o token de uso único antes do usuário clicar. É um bug sutil que só aparece em produção, com e-mails reais.
04O diferencial de domínio é a classificação COB (Instrução Normativa MAPA nº 8/2003): a lógica de tipos, defeitos, peneira e bebida do café c…+
O diferencial de domínio é a classificação COB (Instrução Normativa MAPA nº 8/2003): a lógica de tipos, defeitos, peneira e bebida do café cru foi extraída pra um pacote puro (@milsaca/cob), sem dependência de runtime, testável isoladamente. O laudo gerado tem PDF com QR code e uma página pública de verificação, dando ao produtor algo que hoje é feito no papel ou de cabeça.
CONSTRUÍDO COM — Next.js · Expo · Supabase · PostgreSQL · TypeScript
06 / RESULTADO



ECOA
