AI-powered mock interview practice. Paste any job description, choose a question type, and get 5 role-specific interview questions generated by Claude — then submit your answers and receive detailed, scored feedback instantly.
Live demo: aced-dev.vercel.app
- Role-specific questions — questions are generated from the actual job description, not generic templates
- Two interview modes — Technical (system design, tradeoffs, language/framework depth) or Behavioral (STAR-format, soft skills)
- AI scoring — each answer is scored 0–10 with specific, actionable feedback
- Instant results — see your average score and per-question breakdown after submission
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Tailwind CSS 4 |
| Routing | React Router DOM 7 |
| Backend | Vercel Serverless Functions |
| AI | Anthropic Claude (claude-haiku-4-5) |
| Deployment | Vercel |
- Node.js 18+
- An Anthropic API key
-
Clone the repo
git clone https://github.com/your-username/aced.git cd aced -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the project root — this file is git-ignored and must never be committed:ANTHROPIC_API_KEY=your_api_key_here
-
Run the dev server
npm run dev
The app will be available at
http://localhost:5173.Note: The
/api/*serverless functions require the Vercel CLI to run locally. Install it withnpm i -g verceland usevercel devinstead ofnpm run devto test the full stack.
This project is configured for Vercel out of the box.
- Push the repo to GitHub
- Import it in Vercel
- Add
ANTHROPIC_API_KEYas an environment variable in your Vercel project settings - Deploy
The API routes in /api are automatically picked up as Vercel Serverless Functions.
aced/
├── api/
│ ├── generate.ts # Generates 5 interview questions from a job description
│ └── score.ts # Scores and provides feedback on submitted answers
├── src/
│ ├── pages/
│ │ ├── Home.tsx # Landing page — job description input and category selection
│ │ ├── Interview.tsx # Interview page — renders questions and collects answers
│ │ └── Results.tsx # Results page — displays scores and feedback
│ ├── components/
│ │ └── Loading.tsx # Loading animation component
│ ├── types/
│ │ └── index.ts # Shared TypeScript types
│ ├── App.tsx
│ └── main.tsx
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY |
Your Anthropic API key — required for question generation and scoring |
.envis listed in.gitignore. Never commit this file.