AI product / Full-stack SaaS
2 min readInterviewIQ: interview prep as a real product
Resume intelligence → skill gaps → timed mocks
Job seekers need more than a question bank. InterviewIQ turns a resume and target role into a preparation loop — practice, mocks, readiness scoring — on a Laravel API and Next.js app with AI that degrades gracefully.
- My contribution
- Product architecture & full-stack build
- Scope
- Resume AI, practice, mocks, readiness scoring
- Stack
- Laravel / Next.js / TypeScript / PostgreSQL
01 /The problem
Scattered PDFs and generic quizzes do not map to a specific job description. Candidates need skill-gap feedback, structured plans, and timed mocks that feel like the real loop — without the product dying when an LLM key is missing or the provider flakes.
The engineering challenge was a full SaaS surface: auth, onboarding, queued resume parsing, admin CMS for questions, and a clean API boundary between a Next.js client and Laravel.
02 /What shipped
Laravel 12 exposes a versioned Sanctum API. Next.js (App Router, TypeScript, TanStack Query) owns the product UI: dashboard, practice MCQs and short answers, timed interviews, job targets, and admin authoring.
AI is pluggable: OpenAI-compatible drivers for resume, JD, and answer evaluation, with heuristic analyzers as the default/fallback so core flows stay online without a paid model. Heavy parse work runs on queues; ownership policies keep user data scoped.
03 /Result
A coherent interview-prep product — not a single demo screen. Resume → gaps → plan → practice → mock → readiness sits on the same stack pattern as production work: Laravel orchestration, modern React frontend, and AI treated as a replaceable service.
The takeaway
Treat AI as a pluggable service — the product must still work when the model is offline.