Vaga Certa.
Upload your résumé and the AI returns real job openings in Brazil scored 0 to 100, with the reasons behind each match and the official application link.

The problem
Job hunting means reading dozens of listings to find out almost none fit. The filtering is manual, repetitive and exhausting long before it pays off — and career changers are exactly the people least able to judge on their own whether their profile fits.
What I built
The AI reads the résumé and extracts role, seniority and skills; three public sources are queried in parallel and every opening comes back with a score, the points in favour and what the profile is missing. The model output is validated against a schema before it reaches the screen — no sign-up, no résumé stored.
Stack
- Next.js 15
- TypeScript
- Gemini
- Zod
- Tailwind CSS
- Vitest
- Vercel
What I learned
An LLM answer only becomes a product when its shape is guaranteed: schema on the output, validation before rendering — and the score has to explain itself.