Get started

Your next practice starts here.

Practice in your browser, use the desktop app with your own AI key, or build a local copy from source.

01 / In your browser

Just bring yourself.

Sign up, verify your email, and choose an interview. Your first interview is free, using Gemini 3.8 Flash. The beta supports 200 funded interviews per day across the project (UTC).

02 / With your own model

Your key. More practice.

Choose a supported provider and model in interview setup, paste your key, and validate it before starting. Personal keys let you keep practicing after your free interview; your provider’s charges and limits apply.

Models and voice explained →

Prefer a desktop app?

See the available macOS, Windows and Linux packages on our download page. The desktop app saves history locally and requires your own AI key.

03 / On your computer

For contributors: run from source.

Run the local web app on macOS.

Install Git, Node.js 22 with npm 10, and Go 1.26.8 or newer. Open Terminal and run:

git clone https://github.com/tejovardhan-makineni/mockinterview.git
cd mockinterview
node scripts/local.mjs

Open localhost:3000, create a local account, then choose a text interview. Stop with Ctrl+C.

The launcher installs dependencies and starts both services. The no-key demo uses example responses; its accounts and history reset when you stop. No Docker or database setup required.

Keep your progress

Add a local database.

Install PostgreSQL 16, create a database, and set DATABASE_URL in your .env file. Run the launcher with --persistent to save accounts, interview results and feedback between restarts.

Persistent setup for your OS ↗
Turn on real AI

Add a provider key.

Copy .env.example to .env and set your provider’s key, or bring a personal key in interview setup. Real AI uses your provider account. Native voice currently needs Gemini.

Configuration reference ↗

A local web app, on every platform.

These instructions run the app in your browser. Desktop package availability is listed on the Downloads page. Local demo data is temporary; choose PostgreSQL for durable history. Optional analytics sharing is separate from your local history.