Skip to content

planetaryescape/interviewoptimiser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

656 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Interview Optimiser

AI voice interview practice that analyses not just what you say, but how you say it -- tone, hesitation, enthusiasm, and confidence.

Quick Start

git clone https://github.com/planetaryescape/interviewoptimiser.git
cd interviewoptimiser
bun install

Secrets

With Doppler (recommended):

doppler setup

Without Doppler -- copy .env.example and add keys from each service below:

cp .env.example .env.local

Database

bun run db:migrate:dev

Run

bun run dev

Visit http://localhost:3000.

External Services

Service Purpose Get Keys
Clerk Authentication Dashboard > API Keys
Hume AI Voice-to-voice interviews Platform > API Keys
Stripe Payments Developers > API Keys
OpenAI AI analysis API Keys
PostgreSQL Database Local or hosted (Neon, Supabase)
AWS S3 Audio file storage IAM > Access Keys
Upstash Redis Rate limiting, caching Console > REST API
Sentry Error monitoring Settings > Client Keys

All keys are managed via Doppler. See .env.example for variable names.

Commands

bun run dev              # Dev server (Doppler injects secrets)
bun run build            # Production build
bun run test             # Run tests
bun run lint:fix         # Fix linting (Biome)
bun run typecheck        # TypeScript check
bun run db:studio        # Drizzle Studio GUI
bun run dev:webhooks     # Start ngrok for webhook testing

Project Structure

src/app/                 # Next.js pages and API routes
lib/ai/                  # AI analysis and interview logic
db/                      # Database schema, queries, migrations
lib/inngest/             # Background job processing
lib/utils/               # Shared utilities
src/components/          # React components
src/emails/              # Email templates (React Email)
terraform/               # AWS infrastructure (Lambda, S3)
docs/                    # Detailed documentation

Tech Stack

  • Framework: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS, shadcn/ui
  • Database: PostgreSQL, Drizzle ORM
  • AI/Voice: Hume AI Voice SDK, AI SDK v6 + OpenAI
  • Auth: Clerk
  • Payments: Stripe
  • Background Jobs: Inngest
  • Storage: AWS S3, CloudFront
  • Monitoring: Sentry, PostHog

Documentation

Contributing

  1. Fork and clone
  2. Create feature branch
  3. Use Bun exclusively (never npm/yarn)
  4. Biome for linting (not ESLint)
  5. Commit format: type: description
  6. Run bun run lint:fix && bun run typecheck before PRs

License

MIT

About

AI-powered interview practice platform that provides real-time, voice-to-voice interview simulations with advanced feedback and analysis.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors