Multi-tenant
Isolamento por company_id em todas as queries.
Arquitetura, 63 endpoints REST, modelo de dados, motores psicométricos, fluxos operacionais, feature flags e deploy. Pronto para auditoria, repasse e onboarding técnico.
Resumo executivo
Plataforma de recrutamento que une psicometria interna (DISC + Eneagrama + 16P), match com IA e pipeline operacional em uma única tela — para empresas que querem decidir contratação com dados.
Isolamento por company_id em todas as queries.
Vaga → candidato → teste → match → contratação.
Match com contexto da empresa, vaga e líder.
Consentimento, anonimização e direitos do titular.
Componentes
Frontend distribuído em CDN; backend persistente na VPS com fila, banco, storage e provedores externos.
Arraste lateralmente · Frontend em CDN · backend persistente · fila e provedores externos isolados
Escolhas técnicas
Cada decisão foi tomada para reduzir custo operacional sem comprometer tipagem nem performance.
App Router, Server Components, deploy na Vercel.
Runtime rápido, tipado, simples de operar em VPS.
Schema relacional, migrations versionadas, tipagem ponta-a-ponta.
Fila persistente para match com IA e jobs assíncronos.
Sessão por cookie, email/senha e OAuth Google.
Contrato navegável publicado em produção.
Match, sugestão de descrição e chat com candidato.
Storage compatível S3 (PDFs, CVs) + e-mail transacional.
Contrato
Filtre por método, recurso ou busca livre. Clique no path para copiar. Detalhes completos no Swagger.
70 de 70 endpoints
Abrir SwaggerPostgres
Tudo isolado por company_id. Migrations versionadas pelo Drizzle Kit. SQL consolidado em docs/sql/backend-install.sql.
Operação
Como o sistema é usado de ponta-a-ponta — do signup até a contratação.
Psicometria
Cada motor transforma respostas em indicadores objetivos. Sem termos clínicos — foco em uso profissional.
O que mede
Como a pessoa decide, comunica e reage a mudanças.
Fonte: dzyla/disc-personality-assessment
Abrir fonteComo responde
119itens
Escala Likert 1–5
O que entrega
Dimensão dominante + secundária, scores 0–100, leitura prática para RH.
Pronto para RH
Os testes são apoio de RH e autoconhecimento. Ajudam a preparar entrevistas e comparar perfis profissionais — não substituem avaliação clínica, psicológica ou terapêutica.
Runtime
Expostas em GET /api/v1/features. Endpoints retornam 503 quando a flag está desligada.
Endpoints /api/v1/ai/* e geração de descrição.
Enfileiramento BullMQ de match e relatórios PDF.
Threads + streaming SSE com Claude.
Presign S3 (CV, logo, PDFs).
Candidatura pública e página da vaga.
Documentos
Cada arquivo é uma fonte da verdade sobre um aspecto do produto. Os mais importantes ficam destacados.
Operação
Comandos prontos para subir o ambiente do zero. Variáveis em docs/env-vars.md.
psql "$DATABASE_URL" -f docs/sql/backend-install.sqlcd backend
bun testcd backend
bun install
bun run devcd frontend
bun install
bun run devCompliance
Sessão por cookie, tenant isolation, consentimento explícito, anonimização e logs de auditoria.
Cookies httpOnly, SameSite configurável, OAuth Google.
Toda query autenticada filtrada por company_id.
POST /candidates/:id/privacy zera PII e mantém scores.
Ações sensíveis gravadas em audit_logs com ator.