FULL STACK
AI-assisted job search with Next.js and Adzuna API: browse listings, compare 2-3 roles with Gemini summaries, resume parsing, and an admin dashboard.

I wanted to ship a credible end-to-end product: real job data, auth, saved state, and AI that actually helps decisions instead of only generating blurbs. Job boards are noisy; the interesting problem is helping someone narrow roles, compare a shortlist, and connect their profile to what employers ask for.
JobFinder is an AI-assisted job search app on Next.js. Users browse listings from the Adzuna API across many countries, search and filter, save jobs, and compare two or three roles side by side with Gemini-powered summaries. Profile and skills support resume parsing (PDF and DOCX) and AI skill suggestions. An admin dashboard manages users, listings, and AI summaries.
I used a pnpm monorepo so shared Zod schemas and UI could live in packages and stay aligned with Mongoose models on the server. That single source of truth cut drift between API contracts and forms. Search and AI outputs are cached in MongoDB with configurable TTL so repeat queries stay fast without hammering Adzuna or Gemini. Auth uses short-lived access tokens and refresh cookies; admin routes are explicitly guarded.
The full codebase is on GitHub if you want to trace API design, models, or UI patterns.