The $0 Vibe Coding Stack
Claude Code runs free through OpenRouter.
I am a Tech Dad of 3 CS grads. Lately, I have been seeing questions from anxious non-CS parents how to stand out in college admissions, and my advice has always been to become a builder. Yet, in many cases, students don’t know how to get started though my HS CS Toolkit has many easy to start projects you can begin this weekend. This article is targeted more for non-CS students who want to start building. For CS students without any prior AI supporting tools for coding, this may be a good intro material.
What is vibe coding? It is a term used for coding primarily through natural language and intent, so you don’t have to learn Python or C++ specific syntax to get started. This is important because in many cases, students get hang up on progressing because the initial set up takes too long and get discouraged to continue. We want to make sure the barrier to entry is low for students.
To help you follow along with today’s strategy, grab your CS Toolkit copy here before we dive into the breakdown.
📥 Download the CS Toolkit
Here’s the setup I used, and why I’m teaching students to ship this way before they write a single line of production code.
I don’t pay for AI coding tools anymore. Not because I stopped using them, I use them more than ever, but because I found a setup that costs nothing and teaches you more than any subscription workflow does.
Here’s what I built: Claude Code, Anthropic’s agentic CLI, pointed at OpenRouter, running on Nvidia’s free Nemotron 3 super 120b a12b model.
Zero dollars a month.
No Debt Anchor.
My students can experiment on a Friday night without me watching a meter tick up.
It took me about 15 minutes to wire up. The part that surprised me wasn’t how easy it was, it was how legitimate the workflow feels once it’s running.
What Claude Code actually is
This isn’t a chatbot in a browser tab. Claude Code runs in your terminal, reads your file system, writes files, runs commands, and iterates — all inside a single conversation thread. Think of it as an agent sitting inside your repo. You describe what you want. It scaffolds. You review. You push to GitHub when it’s done.
Normally this requires paying for Anthropic API credits. But Claude Code accepts a custom base URL, which means you can point it at any OpenAI-compatible endpoint. It is basically the universal remote for AI models. OpenRouter is exactly that, a unified API layer that routes to dozens of models, including free ones, behind one interface.
How to set it up
These parts assume you have some familiarity with command line interface, like a terminal on Mac. If you don’t, I will leave it as your own learning practice. There are a lot of YouTube videos showing how to use Mac terminal or Windows Powershell.
Install the CLI first — you need Node 18 or higher:
npm install -g @anthropic-ai/claude-codeCreate a free account at openrouter.ai and generate an API key. You don’t need a credit card for the free models. Find the identifier for Nvidia Nemotron in the model list, something like nvidia/nemotron-3-super-120b-a12b:free
Then set two environment variables in your shell config:
export ANTHROPIC_BASE_URL=https://openrouter.ai/api/
export ANTHROPIC_API_KEY=your_key_hereLaunch with:
claude --model nvidia/nemotron-3-super-120b-a12b:freeNavigate to your project folder first. From there, you’re in the loop.
Note that I am intentionally giving you a minimal instruction. Your initial job is to get the claude code running. If successful, you may see something like this. Say hi and see if it responds back.
What I actually built
I started with the simplest thing I could think of: a tic-tac-toe game in HTML.
That’s it. No database, no API, no dependencies. Just a single file that runs in a browser. I opened the terminal, navigated to an empty folder, and typed: create a tic tac toe game in a single HTML file with basic styling.
You notice there was an error. That’s because I had created the game yesterday for initial testing before writing this article, and found the file already existing. So I later asked to save the file as ttt.html and it was successful. If you encounter these errors, you do learn what may have happened. That’s another advantage of doing the actual hands-on build session like this. Debugging the AI is where the actual learning truly happens.
It wrote the whole thing, board layout, turn logic, win detection, reset button. I opened the file in Chrome. It worked!
Then I did the part that actually teaches you something. I asked it to audit its own output. What’s brittle here? What breaks if I add a feature? It came back with real answers: the winning conditional array is fixed at 3x3, and board initialization loops hard coded 9 times (to basically reset the whole board space one by one clearing any existing value. This would break if you try to change the board size to 4x4 or larger. I asked it to fix both. It did. I read every line of the diff.
By the time I ran git push, I hadn’t just generated a file. I had navigated a complete build cycle , prompt → scaffold → audit → iterate → ship, without leaving the terminal or opening a browser tab to ask a chatbot for help.
That audit loop is the discipline that makes this workflow real. Free models move fast and skip edge cases. You have to ask them to check their own work. Once you build that habit, it transfers to every project after this one.
Why this is the right way to learn
I have spent over a decade coaching FIRST robotics, FLL, FTC, FRC, and watching kids hit the same wall. It’s never syntax. It’s never logic. It’s the gap between having an idea and seeing something work on the screen. That gap kills momentum faster than any hard concept does.
This stack closes it. You still write prompts. You still debug. You still own the architecture. But you’re doing it on top of a working scaffold instead of a blinking cursor in an empty file, and that changes how fast you build real intuition.
This is the Institutional Moat move I wish I’d had when my kids were first learning to ship. It’s not about saving $20. It’s about removing every excuse to wait before you start building.
Set it up this weekend. Build something small. Push it to GitHub.
Drop a comment and let me know what you are building.
Support the Workshop: I spend my spare cycles auditing the “Source Code” of admissions so you don’t have to. If you’ve found value in these logic gates, you can buy me a coffee ☕ to help keep this workshop running and the guides open-source.





