{"slug": "prepme-ai-powered-interview-kit", "title": "Prepme - AI Powered Interview Kit", "summary": "A developer built PrepMe, an open-source interview prep tool that parses a real job posting and generates requirement-based interview questions, flashcards, and a five-day study plan. The free tier runs Qwen 2.5 Coder 7B locally through Ollama, with Zod schemas and TypeScript validation ensuring every must-have requirement gets at least one question, and Playwright rendering JavaScript-heavy job boards. The developer argues local inference avoids per-token API costs—estimated at roughly $0.03 per kit—and keeps sensitive client data on the user's machine.", "body_md": "This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle\n\nWhat I Built\n\nPrepMe builds an interview prep kit from a real job posting. You paste the job description, and it pulls out the requirements, writes interview questions based on them, makes flashcards, and creates a 5-day study plan.\n\nMost interview prep is too generic. You end up practicing random LeetCode problems when the company cares about something else. PrepMe reads the posting you’re applying to and builds the questions around the skills it lists.\n\nWho would pay:\n\nJob seekers interviewing at several companies. The planned Pro plan is $19 a month with a cloud model for faster results.\n\nCareer coaches who prep clients. The planned Coach plan is $49 a month with bulk generation and white-label exports.\n\nBootcamp grads who need a structured way to prepare.\n\nThe free tier runs a local model (Qwen 2.5 Coder 7B through Ollama), so it costs nothing to run.\n\nDemo\n\nVideo: [https://youtu.be/aE5vZNURTYs](https://youtu.be/aE5vZNURTYs)\n\nTry it yourself:\n\nClone the repo and run npm install.\n\nInstall Ollama and run ollama pull qwen2.5-coder:7b.\n\nStart the backend with npm run dev:server.\n\nIn packages/web, run npm run dev.\n\nOpen [http://localhost:3000](http://localhost:3000) and paste a real job posting. Try one from Vercel, Linear, Stripe, or Magica.\n\nCode\n\n[https://github.com/ayuuuuu0-0/prepme](https://github.com/ayuuuuu0-0/prepme)\n\nFeatures:\n\nUses Playwright to load JavaScript-heavy job boards before reading them.\n\nChecks that every must-have requirement has at least one question.\n\nQuotes the exact line from the posting for each requirement, so the model can’t make up requirements.\n\nPractice mode with a 60-second timer.\n\nBuilds a 5-day study schedule and puts the harder topics first.\n\nTech stack:\n\nBackend: Express, TypeScript, MongoDB (with an in-memory fallback)\n\nFrontend: Next.js 15 and Tailwind CSS\n\nAI: Qwen 2.5 Coder 7B through Ollama\n\nValidation: Zod schemas for the model’s output\n\nHow I Built It\n\nI use Qwen 2.5 Coder 7B running locally with Ollama. I tried Gemma 2 9B and Llama 3.1 8B first. Qwen gave me the most reliable JSON output, and that matters because the app breaks if the output doesn’t match the schema.\n\nThe pipeline works like this:\n\nThe model reads the job posting and pulls out technical, behavioral, and domain requirements. Each one includes the exact line from the posting.\n\nPlain TypeScript code checks that every must-have requirement has a question.\n\nIf something is missing, the model gets up to two more passes. After that, a fallback generator fills the gap.\n\nThe model writes the flashcards. If that step fails, the flashcards come from the questions.\n\nA scheduling function spreads the questions across the number of days you pick.\n\nMany job boards load their content with JavaScript, so a plain fetch returns an almost empty page. Magica.com is one of them, and I tested PrepMe with a Magica job description in the demo video. PrepMe checks how much text it got compared to the size of the HTML. If the page looks empty, it renders the page with Playwright first.\n\nThe code is split into three packages:\n\n@prepkit/core: the pipeline, with no framework dependencies\n\n@prepkit/server: the Express API and MongoDB storage\n\n@prepkit/web: the Next.js frontend\n\nWhy Does Open Innovation Matter?\n\nClosed APIs charge per token. A job posting plus company research can use about 5,000 input tokens and 3,000 output tokens. At the rates I used, that works out to about $0.03 per kit. If a free tier gave 10,000 users 2 kits each, that’s roughly $600 a month with no revenue. The free tier would lose money on every user.\n\nPrivacy matters too. Career coaches handle client resumes and job descriptions that aren’t public yet. If that data goes to a closed API, it leaves their control. Running the model locally keeps it on their own machine.\n\nOffline use is another reason. The model downloads once, about 5 GB, and after that the free tier works without internet. You can also swap models by changing one line in the .env file.\n\nOpen weights are the only reason this free tier can exist.\n\nMy First User\n\nA friend who is interviewing for backend roles tried PrepMe. They pasted two job descriptions and had both prep kits in about 5 minutes.\n\nTheir feedback:\n\n“The questions are more specific than the LeetCode grind.”\n\n“I like that it quotes the exact requirement. No guessing.”\n\n“The practice timer showed me I ramble too much.”\n\n“2 to 3 minutes per kit is fine, but I’d pay $10 a month for instant generation.”\n\nThe questions aren’t perfect yet. Some are still generic, and some don’t go as deep as they should. I’m working on the prompts and the repair step, and I expect the quality to improve over time. The quality issues are real, and I’d rather say so than hide them.\n\nNobody has paid yet. The cloud Pro tier isn’t built, so their answer about paying is a guess for now. The free tier brings people in, and the paid tier is the next step.", "url": "https://wpnews.pro/news/prepme-ai-powered-interview-kit", "canonical_source": "https://dev.to/ayuuu0_0/prepme-ai-powered-interview-kit-459n", "published_at": "2026-10-18 19:12:01+00:00", "updated_at": "2026-10-18 19:18:48.419673+00:00", "lang": "en", "topics": ["ai-tools", "large-language-models", "ai-products", "developer-tools"], "entities": ["PrepMe", "Qwen 2.5 Coder 7B", "Ollama", "Playwright", "Next.js", "MongoDB", "Magica"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/prepme-ai-powered-interview-kit", "markdown": "https://wpnews.pro/news/prepme-ai-powered-interview-kit.md", "text": "https://wpnews.pro/news/prepme-ai-powered-interview-kit.txt", "jsonld": "https://wpnews.pro/news/prepme-ai-powered-interview-kit.jsonld"}}