A free, open-source, "Bring Your Own Key" (BYOK) platform for comprehensive interview preparation.
Most AI interview preparation tools charge monthly subscriptions ($20-$50/mo) just to wrap API calls you could make yourself. Intervu is different:
- Free & Open Source: No subscriptions. Self-host it or run it locally.
- Privacy First: Your API keys are stored in your browser's local storage (encryped).
- Bring Your Own Key (BYOK): Plug in your own OpenAI, Anthropic, Gemini, or Groq keys. Pay the provider directly for exactly what you use.
- Groq Integration: Experience near-instant voice-to-text and response times for realistic mock interviews.
- 🚀 Panic Mode: A one-click preset for last-minute prep (15 mins before the interview). Generates high-yield cheat sheets.
- ⚡ Real-time Mock Interviews: Voice-enabled AI interviewer that adapts to your responses.
- 📝 Resume Tailoring: Paste a job description URL and get specific, actionable advice on how to tailor your resume.
- 🏢 Company Recon: Automatically fetches company news, financials, stock performance, and "vibe" analysis.
- 🧠 System Design Bank: Dedicated module for architecture questions (e.g., "Design Instagram").
- 🔒 Secure: Keys are encrypted at rest and never shared.
- Framework: Next.js 14 (App Router)
- Database: Supabase (PostgreSQL + Auth)
- Styling: Tailwind CSS + Shadcn UI
- AI: Integration with OpenAI, Google Gemini, Anthropic, and Groq (Llama 3).
- Icons: Phosphor Icons
- Node.js 18+
- A Supabase account (free tier works great)
- API Keys for at least one provider (Groq recommended for speed, OpenAI for quality)
-
Clone the repository
git clone https://github.com/vvknyn/interview-os.git cd interview-os -
Install dependencies
npm install # or pnpm install -
Set up Supabase
- Create a new project on Supabase.
- Run the SQL migrations (found in
supabase/migrationsor just use the dashboard to create necessary tables if migrations are not included - Note: Schema details coming soon). - Get your
NEXT_PUBLIC_SUPABASE_URLandNEXT_PUBLIC_SUPABASE_KEY(Anon).
-
Configure Environment Variables
- Copy the example env file:
cp .env.example .env.local
- Fill in your Supabase credentials.
- Generate a random 32-byte hex string for
ENCRYPTION_KEY:openssl rand -hex 32
- Copy the example env file:
-
Run the development server
npm run dev
Open http://localhost:3000 with your browser.
The easiest way to deploy is using Vercel.
- Push your code to a GitHub repository.
- Import the project into Vercel.
- Add the environment variables from your
.env.localto the Vercel project settings. - Deploy!
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
