Stack completa de IA pra dev brasileiro: API + NF + LGPD em 2026
Tutorial fim-a-fim pra montar produção: gateway IA, observability, billing, compliance LGPD, e quanto custa por mês cada peça. Com código real.
Vou montar passo a passo a stack que uso em produção pra rodar features de IA num SaaS brasileiro. Tudo open-source ou pay-as-you-go, sem assinatura chata, com cada peça custando menos de R$ 100/mês na partida.
A stack inteira (TL;DR)
| Camada | Tecnologia | Custo aprox | |---|---|---| | Gateway IA | Tokia (OpenAI-compatible) | R$ 50-500/mês | | Backend | Node.js (Fastify) ou Python (FastAPI) | $5-20/mês (Hetzner/Hostinger VPS) | | Frontend | Next.js 16 + Tailwind v4 | $0 (Vercel free) | | DB | Supabase self-hosted | $0 (mesma VPS) | | Auth | Logto self-hosted | $0 (mesma VPS) | | Pagamentos | Asaas (PIX + cartão) | 1% por transação | | Observability | GlitchTip (Sentry-compatible) | $0 (mesma VPS) | | Email | Resend (DKIM/SPF) | $0 até 3k/mês | | Domínio + DNS | Cloudflare | $10/ano | | Total bootstrap | | R$ 80-600/mês |
1. Gateway de IA: Tokia
Por que não chamar OpenAI direto? NF brasileira, PIX, suporte PT-BR, multi-provider numa key. Já cobri no post comparativo.
Setup:
// lib/ai.ts
import OpenAI from "openai";
export const ai = new OpenAI({
baseURL: "https://api.usetokia.com/v1",
apiKey: process.env.TOKIA_API_KEY!,
});
export async function chat(userMessage: string) {
return ai.chat.completions.create({
model: "claude-sonnet-46", // ou gpt-4o-mini, llama-3-3-70b, etc
messages: [
{ role: "system", content: "Você é assistente brasileiro." },
{ role: "user", content: userMessage },
],
});
}
Custo: depende do modelo. Pra chatbot com Llama 3.3 70B: ~R$ 0,02 por conversa de 1000 tokens. 1000 conversas/mês = R$ 20.
2. Auth: Logto self-hosted
Por que não Auth0/Clerk? LGPD. Logto roda em Docker na sua VPS, dados ficam no Brasil, e custa $0.
Setup (docker-compose.yaml):
services:
logto:
image: svhd/logto:latest
environment:
DB_URL: postgres://postgres:senha@db:5432/logto
ENDPOINT: https://auth.seusite.com
ports:
- "3001:3001"
depends_on:
- db
OAuth Google/GitHub/etc configuráveis via UI. SDKs oficiais pra Next.js, React Native, etc.
3. Pagamentos: Asaas (PIX + cartão tokenizado)
Por que não Stripe BR? Asaas tem PIX nativo + emissão de NFS-e automática quando pagamento confirma. Stripe BR tem PIX mas a NF você precisa gerar em ferramenta separada.
Setup webhook PIX:
// routes/webhooks/asaas.ts
import crypto from "node:crypto";
app.post("/webhooks/asaas", async (req, reply) => {
const token = req.headers["asaas-access-token"];
if (token !== process.env.ASAAS_WEBHOOK_TOKEN) {
return reply.code(401).send();
}
const { event, payment } = req.body;
if (event === "PAYMENT_RECEIVED") {
await addBalance(payment.customer, payment.value);
}
return reply.code(200).send({ ok: true });
});
4. Observability: GlitchTip (Sentry-compatible)
Por que não Sentry SaaS? R$ 0 self-hosted + LGPD-friendly. GlitchTip é fork open-source do Sentry com mesma SDK.
// sentry.ts
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: process.env.SENTRY_DSN, // aponta pra GlitchTip self-hosted
tracesSampleRate: 0.1,
environment: process.env.NODE_ENV,
});
5. LGPD compliance
3 coisas que você não pode esquecer:
a) Base legal documentada — se você usa IA pra processar dados pessoais do cliente (nome, CPF, conversas), precisa de:
- Política de privacidade declarando uso de IA + providers (OpenRouter, Anthropic etc)
- Cláusula contratual com cliente autorizando
b) Data residency — modelos como Llama (open-source) podem rodar via provider Singapore (OpenRouter rota). Modelos US-only (Claude) precisam de disclosure no contrato.
c) Direito ao esquecimento — endpoint /api/users/me/delete que apaga
dados + para envio pra IA. Implementação:
app.delete("/me", async (req, reply) => {
await prisma.user.delete({ where: { id: req.user.id } });
// Asaas: anonimiza customer
await asaas.customers.update(asaasId, { name: "DELETED", cpf: "00000000000" });
// Tokia: revoga API keys
await tokia.apiKeys.revokeAll(userId);
return { ok: true };
});
6. Deploy: Coolify (self-hosted Heroku-like)
VPS Hetzner CX22 (4 vCPU + 8GB RAM) ~R$ 20/mês roda essa stack inteira:
- Coolify (orquestrador) + Traefik (proxy HTTPS automático)
- Supabase (Postgres + Realtime)
- Logto (auth)
- GlitchTip (observability)
- Sua aplicação Next.js + API
Deploy com push pra GitHub via Coolify GitHub App. Cert HTTPS via Let's Encrypt automático.
Custos reais — mês 1 (MVP)
| Item | Custo | |---|---| | Gateway IA (Tokia, 5k requests/mês LLM + 200 imagens) | R$ 80 | | Hetzner VPS (CX22 + IPv4) | R$ 22 | | Cloudflare DNS + Resend free tier | R$ 0 | | Domínio (.com.br anual / 12) | R$ 4 | | Asaas (1% de R$ 5k recebido) | R$ 50 | | Total | R$ 156/mês |
Comparativo: SaaS equivalente em **Heroku + Auth0 + Stripe BR + Sentry SaaS
- OpenAI direto** sai por R$ 1.500-2.500/mês na mesma escala.
Como migrar?
Você não precisa reescrever nada. Troca só o BASE_URL da OpenAI pra Tokia e continua usando SDK OpenAI/Anthropic/o que já programou. Auth e billing você adiciona quando precisar — pode rodar mês 1 só com OpenAI-direto até testar PMF.
Próximos posts da série:
- "Como integrar Tokia + Supabase + Stripe num SaaS em 1 tarde" (em breve)
- "LGPD pra dev: o checklist que o seu DPO esqueceu de mandar" (em breve)
Quer testar Tokia com R$ 10 via PIX?
Criar conta grátis →