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

FeatureDescription
AI Mock InterviewsRole-specific interview sessions with real-time AI feedback and scoring
Question Bank264+ questions across 6 VA roles and 3 difficulty levels
Resume LabUpload resume, get AI review with truth flags and improvement suggestions
Cover Letter StudioGenerate role-targeted cover letters with multiple tones
Practice TestsTimed assessments with AI-scored results
Learning PathsBeginner → Intermediate → Advanced guides per role
Download CenterTemplates, checklists, worksheets
Admin PanelAnalytics 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

LayerTechnology
FrameworkNext.js 16.1.1 (App Router, standalone)
RuntimeBun (CI uses npm)
DatabasePrisma v6 + PostgreSQL (PostgreSQL only)
AuthCustom JWT sessions (jose) + HttpOnly cookies
UITailwind CSS v4 + "Field Manual" light design system
IconsPhosphor Icons (light weight)
FontsSpace Grotesk (headings) + Plus Jakarta Sans (body)
AIZ AI Web Dev SDK for coaching, scoring, content generation
Exportdocx, 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 FileTestsWhat It Covers
interview-session.test.ts21Session creation, answer submission, auth/authz
questions.test.ts38Question bank filtering, role/difficulty, structure
auth-register.test.ts34Registration validation, email/password, bot protection
auth-login.test.ts26Login flow, rate limiting, session, email sanitization
assessments.test.ts20Assessment list/get/submit, answer key stripping
profile-dashboard.test.ts23Profile whitelisting, sanitization, dashboard stats
resume-coverletter.test.ts25Resume CRUD, cover-letter tones, truth flags
Total187All API routes, all green

Tests use in-memory stubs — no database or server required.

📋 Available Scripts

CommandDescription
bun run devDev server with logging
bun run buildProduction build (standalone)
bun run db:pushPush Prisma schema to PostgreSQL
bun run db:generateGenerate Prisma client
bun run testRun test suite
bun run lintESLint 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

VariableDescription
DATABASE_URLPostgreSQL connection URL
JWT_SECRETSecret for signing JWT session tokens
NEXT_PUBLIC_APP_URLApp 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