Skip to content

Latest commit

Β 

History

84 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ™οΈ Interview Lab

Amazon VA Interview Preparation Platform

AI-powered mock interviews, resume coaching, cover letter generation, and practice tests for aspiring Amazon Virtual Assistants.

Deploy with Vercel

Live Demo Β· Report Bug Β· Request Feature


✨ Features

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

πŸ“Έ Product Tour

Interview Lab Home

Start from a focused overview of the Academy-to-interview journey, supported roles, and preparation tools.

Interview Lab landing page

Secure Sign In

Learners access their private practice history, saved application materials, and progress through the account sign-in flow.

Interview Lab sign-in page

About Interview Lab

The public About page explains the platform's purpose and its focus on Filipino VAs preparing for Amazon roles.

About Interview Lab page

πŸ’° Pricing

Free, always. Interview Lab is a free companion to Project Amazon PH Academy. All features are available to all users β€” no paid tiers.

πŸ›  Tech Stack

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)

πŸš€ Getting Started

Prerequisites

  • Bun installed
  • Git

Setup

# 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 dev

The app will be available at http://localhost:3000.

Quick Start (alternative)

bash .zscripts/dev.sh

πŸ“ Project Structure

src/
β”œβ”€β”€ 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

πŸ§ͺ Testing

# 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 Coverage

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.

πŸ“‹ Available Scripts

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

🎨 Design System β€” "Field Manual" (light theme)

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

πŸ” Environment Variables

Variable Description
DATABASE_URL PostgreSQL connection URL
JWT_SECRET Secret for signing JWT session tokens
NEXT_PUBLIC_APP_URL App base URL

πŸ“š Documentation

  • docs/PRD.md β€” Product requirements
  • docs/BUILD_SPEC.md β€” Technical build specification
  • docs/TESTING.md β€” Testing strategy
  • docs/SECURITY.md β€” Security considerations
  • docs/DEPLOYMENT.md β€” Deployment guide
  • docs/ENGINEERING_DIARY.md β€” Development journal
  • AGENTS.md β€” AI agent context and coding standards
  • REDESIGN-PLAN.md β€” Full UI/UX redesign plan

πŸ“„ License

Private β€” Β© 2026 Ryan Roland Dabao. All rights reserved.

About

AI-powered Amazon PPC interview practice tool for Filipino VAs and eCommerce job seekers.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages