Local Next.js app for creating technical interviews, sharing candidate links, and testing camera-based interviews.
Run the app:
npm run devOpen local admin/login:
http://localhost:3000/login
Default local admin account:
Email: admin@example.com
Password: admin123
Use ngrok when you want to test the app through an HTTPS public link. This is needed for candidate camera testing on another device.
In terminal 1:
npm run devWait until it shows the app is ready on:
http://localhost:3000
Leave this terminal running.
In terminal 2:
ngrok http 3000Ngrok will show a line like:
Forwarding https://abcd-1234.ngrok-free.app -> http://localhost:3000
Copy only this part:
https://abcd-1234.ngrok-free.app
Do not copy this part:
-> http://localhost:3000
Do not copy the ngrok web interface URL:
http://127.0.0.1:4040
In .env, replace APP_DOMAIN with the copied ngrok HTTPS URL:
APP_DOMAIN="https://abcd-1234.ngrok-free.app"
AUTH_TRUST_HOST=trueKeep NEXTAUTH_URL unset or commented out for local/ngrok testing.
After changing .env, restart terminal 1:
Ctrl + C
Then:
npm run devNgrok must stay running in terminal 2.
Use:
https://abcd-1234.ngrok-free.app/login
You can also keep local login open at the same time:
http://localhost:3000/login
Localhost and ngrok use separate browser cookies, so you may need to log in separately in each tab.
- If the browser searches Yahoo/Google, paste the URL into the browser address bar and press Enter.
- If login works on localhost but not ngrok, confirm
.envhas the same ngrok URL currently shown in the ngrok terminal. - If ngrok is restarted, the free URL usually changes. Copy the new URL, update
APP_DOMAIN, and restartnpm run dev. - If you see
ERR_NGROK_121, update ngrok and runngrok version; it must be3.20.0or newer. - For this project, run
ngrok http 3000, notngrok http 80.
Get a free Gemini API key from:
https://aistudio.google.com/app/apikey
Put it in .env:
GEMINI_API_KEY="your-key-here"Restart the app after changing .env.