This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend(
What I Built
Preparing for technical interviews usually involves staring at a LeetCode problem, getting stuck, and asking an AI for a hint. The problem? AI models almost always over-explain and spit out the entire optimal code block, completely robbing the developer of the learning process and the "aha!" moment. I built DryRunBuddy to flip this script.
I built this specifically for a close friend who is currently grinding for software engineering interviews. DryRunBuddy acts as a firm, supportive Socratic interviewer that lives directly in your browser. Instead of giving away the answer, it takes their written intuition or code and acts in three stages:
- Socratic Coach: Analyzes their logic, estimates complexity, provides a concrete edge-case where their logic breaks, and asks a mock follow-up question.
- Code Debugger: Analyzes their naive attempt line-by-line and provides a patched snippet of just the bugs.
- Optimal Mentor: Once they solve it, provides the optimal solution and a step-by-step dry-run execution trace.
It comes pre-loaded with a curated studio of 10 classic DSA patterns containing intentional bugs, plus a Custom Problem option. It even generates a markdown cheat-sheet and exports the entire session for their Obsidian vault!
Demo
🧠 Try it live: sunkarimanwithagopal.github.io/dryrun-buddy/
(Note: To get the actual zero-latency AI coaching, you must run Ollama locally with `OLLAMA_ORIGINS=""`. If you just want to see the UI and curated curriculum, toggle the "Instant Offline Engine" checkbox!)*
📸 Screenshots

The DSA Studio: The main interface featuring the curated problem list and the Quick Revision Notes.
Socratic Coaching: The agent breaks down the intuition without revealing the solution.
Code
{https://github.com/SunkariManwithaGopal/dryrun-buddy}
DryRunBuddy is a privacy-first, zero-spoiler AI coach built for the Hacktoberfest 'Build for a Friend' challenge. It combines a vanilla web stack with Google's open-weight Gemma 2 model via Ollama to bring Socratic teaching directly to your local machine.
How I Built It
DryRunBuddy is built on a deliberately lightweight, portable stack that requires zero backend infrastructure:
-
Core App: 100% Vanilla HTML, JavaScript, and TailwindCSS (via CDN). It is essentially a single-page application (
index.html\) that can run from anywhere. - AI Planning Engine: The brain of the operation is Gemma 2 (2B), Google's open-weight model. The app communicates directly with a local Ollama server using REST API calls.
- Prompt Engineering: I crafted highly rigid system prompts to force Gemma to respond in strict JSON formats. Depending on the current stage (Socratic, Debug, Solution), Gemma is explicitly instructed to never write full solution code unless the final stage is unlocked.
How It Works Under The Hood
Here is the agent's decision flow:
- Input: The user selects a problem (or pastes a custom one), chooses their language (Java/C++/Python), and inputs their intuition/code.
- Context Assembly: The browser packages the problem statement, user approach, and code into a strict system prompt.
-
Local Inference: The payload is sent to
http://localhost:11434/api/generate\(Ollama running Gemma 2). - Structured JSON Parsing: The UI parses Gemma's JSON output (handling edge-cases and Markdown formatting) to populate the coaching UI.
- Fallback Safety: If Ollama isn't running, the app gracefully falls back to an offline deterministic mode so the user can still practice the curated curriculum.
Why Does Open Innovation Matter?
Open innovation was absolutely critical to making this tool actually useful for my friend:
- Absolute Privacy: Interview prep involves pasting proprietary or private assessment questions. Running Gemma locally means zero data is ever sent to a corporate cloud. My friend's data stays exclusively on their machine.
- Zero Cost: Grinding DSA takes hundreds of hours. A closed API would cost money per token and add up fast. Running open-weight Gemma locally is 100% free forever.
- Control & Speed: Open models allowed me to pick a lightweight, extremely fast model (Gemma 2:2B) that runs flawlessly on a standard laptop with zero latency and no internet connection required.
My Agent Session
Building this was an incredible pair-programming experience with my AI agent! We worked together to:
- Write the PowerShell commands to automatically boot up Ollama with CORS and pull the
gemma2:2b\model. - Hunt down a tricky Javascript JSON-parsing bug that was breaking our UI. The agent used terminal scripts to isolate the exact line and patch the bracket!
- Implement the "Custom Problem" mode and a context-aware "Quick Revision Notes" data structure cheat-sheet feature in under 20 minutes!
Future Enhancements
- Voice-to-Text Coaching: Allowing the user to speak their intuition out loud using the Web Speech API, mimicking a real interview setting.
- Support for More Languages: Expanding beyond Java, C++, and Python to support Go, Rust, and JavaScript.
Prize Categories
I am entering the following partner categories:
- Best Use of Gemma: DryRunBuddy uses Google's open-weight model, Gemma 2 (2B), as the exclusive AI reasoning engine to parse intuition, generate structured JSON Socratic feedback, and debug code locally.



Top comments (0)