Amazon VA Interview Preparation Platform
AI-powered mock interviews, resume coaching, cover letter generation, and practice tests for aspiring Amazon Virtual Assistants.
| Feature | Description |
|---|---|
| AI Mock Interviews | Role-specific interview sessions with real-time AI feedback and scoring |
| Question Bank | 264+ questions across 6 VA roles and 3 difficulty levels |
| Resume Lab | Upload resume, get AI review with truth flags and improvement suggestions |
| Cover Letter Studio | Generate role-targeted cover letters with multiple tones |
| Practice Tests | Timed assessments with AI-scored results |
| Learning Paths | Beginner β Intermediate β Advanced guides per role |
| Download Center | Templates, checklists, worksheets |
| Admin Panel | Analytics dashboard and question management |
Free, always. Interview Lab is a free companion to Project Amazon PH Academy. All features are available to all users β no paid tiers.
| Layer | Technology |
|---|---|
| Framework | Next.js 16.1.1 (App Router, standalone) |
| Runtime | Bun (CI uses npm) |
| Database | Prisma v6 + PostgreSQL (PostgreSQL only) |
| Auth | Custom JWT sessions (jose) + HttpOnly cookies |
| UI | Tailwind CSS v4 + "Field Manual" light design system |
| Icons | Phosphor Icons (light weight) |
| Fonts | Space Grotesk (headings) + Plus Jakarta Sans (body) |
| AI | Z AI Web Dev SDK for coaching, scoring, content generation |
| Export | docx, PDF (manual builder / pdfkit), Excel (exceljs) |
- Bun installed
- Git
# Clone the repo
git clone https://github.com/projectamazonph/Interview-lab.git
cd Interview-lab
# Install dependencies
bun install
# Set up the database
bun run db:push
# Start the dev server
bun run devThe app will be available at http://localhost:3000.
bash .zscripts/dev.shsrc/
βββ app/ # Next.js App Router
β βββ api/ # API routes
β β βββ auth/ # Register, login, logout, email verify
β β βββ interview/ # Mock interview sessions
β β βββ questions/ # Question bank + count
β β βββ assessments/ # Practice test assessments
β β βββ profile/ # User profile (GET/PUT)
β β βββ dashboard/ # Dashboard aggregation
β β βββ subscription/ # Removed (product is free)
β β βββ resume/ # Resume upload + AI review
β β βββ cover-letter/ # Cover letter generation
β β βββ ai/ # AI endpoints (coach, scoring, resume, cover)
β β βββ admin/ # Admin analytics + question management
β β βββ guides/ # Learning path guides
β β βββ downloads/ # Download center
β β βββ export/ # DOCX/PDF/Excel export
β βββ [pages]/ # Page routes
βββ components/
β βββ interview-lab/ # Page components (Field Manual design system)
β βββ ui/ # Shared primitives (field-card, field-button, etc.)
βββ lib/
β βββ auth-helpers.ts # Server-side JWT + header auth
β βββ pricing.ts # Tier configs (currently unused β product is free)
β βββ subscription-guard.ts # Feature access checks (returns allowed: true)
β βββ types.ts # TypeScript interfaces
β βββ utils.ts # cn() utility
βββ hooks/ # Custom React hooks
prisma/ # Prisma schema (PostgreSQL)
__tests__/ # Test suites
βββ api/ # API route unit tests (218 tests)
β βββ interview-session.test.ts
β βββ questions.test.ts
β βββ auth-register.test.ts
β βββ auth-login.test.ts
β βββ assessments.test.ts
β βββ profile-dashboard.test.ts
β βββ subscription.test.ts
β βββ resume-coverletter.test.ts
βββ components/ # Component tests
docs/ # PRD, architecture, feature specs
.zscripts/ # Dev/build/startup scripts
# Run all tests
bun test
# Run specific test file
bun test __tests__/api/resume-coverletter.test.ts
# Run API tests only
bun test __tests__/api/| Test File | Tests | What It Covers |
|---|---|---|
interview-session.test.ts |
21 | Session creation, answer submission, auth/authz |
questions.test.ts |
38 | Question bank filtering, role/difficulty, structure |
auth-register.test.ts |
34 | Registration validation, email/password, bot protection |
auth-login.test.ts |
26 | Login flow, rate limiting, session, email sanitization |
assessments.test.ts |
20 | Assessment list/get/submit, answer key stripping |
profile-dashboard.test.ts |
23 | Profile whitelisting, sanitization, dashboard stats |
resume-coverletter.test.ts |
25 | Resume CRUD, cover-letter tones, truth flags |
| Total | 187 | All API routes, all green |
Tests use in-memory stubs β no database or server required.
| Command | Description |
|---|---|
bun run dev |
Dev server with logging |
bun run build |
Production build (standalone) |
bun run db:push |
Push Prisma schema to PostgreSQL |
bun run db:generate |
Generate Prisma client |
bun run test |
Run test suite |
bun run lint |
ESLint check |
The earlier "Ethereal Glass" dark design was reverted. The live app uses a clean light "Field Manual" system.
- Palette: Warm off-white (
#FAFAF7) with subtle grain/border texture, primary orange (#FF6B35) accents - Colors: Ink scale for text, emerald success, amber warnings, rose danger
- Motion: Framer Motion scroll reveals, stagger, hover physics (no custom cubic-beziers)
- Components:
FieldCard(solid surface, thin border, soft shadow),FieldButton(default/outline/ghost),FieldBadge,Alert - Icons: Phosphor Icons in
weight="light"β no thick-stroked icons - Typography: Space Grotesk for headings, Plus Jakarta Sans for body
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection URL |
JWT_SECRET |
Secret for signing JWT session tokens |
NEXT_PUBLIC_APP_URL |
App base URL |
docs/PRD.mdβ Product requirementsdocs/BUILD_SPEC.mdβ Technical build specificationdocs/TESTING.mdβ Testing strategydocs/SECURITY.mdβ Security considerationsdocs/DEPLOYMENT.mdβ Deployment guidedocs/ENGINEERING_DIARY.mdβ Development journalAGENTS.mdβ AI agent context and coding standardsREDESIGN-PLAN.mdβ Full UI/UX redesign plan
Private β Β© 2026 Ryan Roland Dabao. All rights reserved.