Ferramenta gratuita da AI Career Suite para análise semântica de currículo versus vaga.
Projeto de portfólio com foco em clareza de arquitetura, utilidade prática e explicabilidade.
- Match score entre currículo e vaga
- Skills aderentes e skills em lacuna
- Insights de melhoria de posicionamento
- Plano de estudo resumido
- Relatório em Markdown
- Histórico local das análises
- Sem microserviços
- Sem autenticação
- Sem billing
- Sem filas
- Estrutura limpa e fácil de explicar em entrevista
- Node.js + Express
- SQLite por padrão
- Postgres/Supabase via
DATABASE_URL - Parser de PDF
- Frontend leve servido pelo backend
src/
app.js
server.js
config/
controllers/
routes/
services/
engines/
repositories/
helpers/
utils/
middlewares/
prompts/
lib/llm/
public/Responsabilidades:
controllers: entrada HTTP e validação básicaservices: orquestração do fluxo principalengines: matching semântico + regras determinísticasrepositories: persistência isoladalib/llm: provider único com fallback
Ordem de execução:
- Groq (
llama-3.1-8b-instant) - Ollama local (
llama3.1:8b) - Fluxo determinístico
Se o LLM falhar, a análise principal continua.
GET /healthGET /POST /api/v1/analyzePOST /api/v1/analyze/pdfGET /api/v1/analysesGET /api/v1/analyses/:idGET /api/v1/analyses/:id/reportPOST /api/v1/feedback
npm install
npm run devPadrão: http://localhost:3002
Use .env.example como base:
PORT=3002
DATABASE_URL=
SQLITE_DB_PATH=data/ragflow.db
LLM_PROVIDER=groq
GROQ_API_KEY=
GROQ_MODEL=llama-3.1-8b-instant
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3.1:8b
LLM_TIMEOUT_MS=30000Se definir DATABASE_URL, o app usa Postgres/Supabase.
Sem DATABASE_URL, usa SQLite local.
Exemplo:
DATABASE_URL=postgresql://postgres.<project-ref>:<password>@aws-0-<region>.pooler.supabase.com:5432/postgres?sslmode=require- Build command:
npm install - Start command:
npm start - Configurar no serviço:
DATABASE_URL(opcional)GROQ_API_KEY(opcional)
render.yaml já incluído no repositório.
- Não garante aprovação em vagas
- Qualidade da análise depende da qualidade dos dados de entrada
- A camada de IA é assistiva, não substitui revisão humana
Projeto de portfólio para demonstração e uso gratuito.