{"slug": "interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend", "title": "Interview Mitraha: a little local AI confidence boost for my friend", "summary": "A developer built Interview Mitraha, a local-first interview practice companion that runs the open-weight Gemma 3 4B model through Ollama on the learner's own computer. The app, written in plain HTML, CSS and JavaScript with a small Node.js loopback server, opens with a warm-up question and follows up in English, Hindi or Hinglish, with typed answers and inference staying local and no hosted model API in the conversation path. The project includes Windows start/stop scripts, nine automated HTTP tests using Node's built-in test runner and a mock Ollama endpoint, and a GitHub Actions workflow.", "body_md": "*This is a submission for the [Hacktoberfest Weekend Challenge: Build for a Friend](https://dev.to/challenges/hacktoberfest-weekend-2026-10-01).*\n\nInterview Mitraha is a little interview-practice companion I built with a friend in India in mind. The days before an interview can make even a simple “Tell me about yourself” feel heavy. I wanted to give my friend a calmer place to rehearse—without an audience, a score, or another expensive subscription.\n\nYou choose the role you’re preparing for, and Mitraha opens with one gentle question. From there, you can type or speak in English, Hindi, or Hinglish. If you use voice, you get to review the transcript before sending it. Mitraha follows up like a patient practice pal, helping you find your own words instead of handing you a script to memorize.\n\nI haven’t handed it to my friend for feedback yet, so I don’t have a reaction to quote. That real-world tryout is still ahead of me.\n\nThere isn’t a hosted demo: I wanted the model and interview practice to run on the learner’s own computer. After installing [Ollama](https://ollama.com/download) and Node.js, the first run downloads Gemma (about 3.3 GB). Then start the app in PowerShell:\n\n```\n.\\Start-Interview-Mitra.ps1\n```\n\nOpen [http://127.0.0.1:4173/](http://127.0.0.1:4173/) and choose a role. The repository’s [README has the complete setup guide](https://github.com/acceptedsoul-11/Interview-Mitraha/blob/main/README.md).\n\n**Repository:** [github.com/acceptedsoul-11/Interview-Mitraha](https://github.com/acceptedsoul-11/Interview-Mitraha)\n\n**A friendly, local-first interview practice partner powered by Gemma.**\n\nInterview Mitraha gives a friend preparing for their next opportunity a low-pressure place to rehearse answers. It opens with one warm-up question, lets them type or speak a reply, and keeps the practice conversation on their own computer with Gemma 3 running through Ollama.\n\nThe name combines *Mitra* (friend) with the Sanskrit form *Mitraḥ* (मित्रः). The interface is designed to feel like a supportive practice pal: no scores, no accent ratings, and no claim that an AI can decide whether someone is ready for a job.\n\nThe project includes Windows start/stop scripts, setup notes, the test suite, and a GitHub Actions workflow.\n\nThe UI is plain HTML, CSS, and JavaScript. A small Node.js server runs on loopback and sends each checked, bounded conversation to Ollama on the same computer. Ollama runs the open-weight `gemma3:4b` model; it writes the opening question and the follow-up replies. There is no hosted model API in the conversation path.\n\n``` php\nflowchart LR\n  A[Browser: type or review a transcript] -->|127.0.0.1| B[Node.js: validate and bound messages]\n  B -->|local Ollama API| C[Gemma 3 4B]\n  C --> B --> A\n```\n\nI kept the app small on purpose: no account, no conversation database, and no runtime npm dependencies. The nine automated HTTP tests run with Node’s built-in test runner and a local mock Ollama endpoint. I also tried a typed answer against the real local Gemma model.\n\nVoice has one important caveat. Speech recognition comes from the browser: some browsers process it on-device, while others may send audio to their configured speech service. Mitraha makes that boundary visible and lets you review the transcript; pressing **Send** sends the text to local Gemma. Browser speech synthesis can read Gemma’s answer aloud when available.\n\nInterview answers often include personal stories. With local Gemma, typed answers and model inference stay on the learner’s computer. There’s no cloud model account, and no per-answer API bill. Once the model has been downloaded, typed practice can work offline.\n\nOpen weights also give the learner room to change the experience. They can inspect or edit the prompt that gives Mitraha its patient tone, or swap to a smaller compatible Gemma model if their computer has less memory. A closed API could provide good answers, but it wouldn’t give the same control over the model and the path the conversation takes.\n\nI don’t want to overstate the privacy story: voice transcription depends on the browser’s implementation, and local inference still needs capable hardware and electricity. I’d rather say exactly where the boundary is than make a blanket “everything is private” claim.", "url": "https://wpnews.pro/news/interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend", "canonical_source": "https://dev.to/acceptedsoul_11/interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend-p2h", "published_at": "2026-10-02 13:03:48+00:00", "updated_at": "2026-10-02 13:07:53.910219+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "generative-ai", "developer-tools"], "entities": ["Interview Mitraha", "Ollama", "Gemma 3 4B", "Node.js", "GitHub Actions", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend", "markdown": "https://wpnews.pro/news/interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend.md", "text": "https://wpnews.pro/news/interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend.txt", "jsonld": "https://wpnews.pro/news/interview-mitraha-a-little-local-ai-confidence-boost-for-my-friend.jsonld"}}