Inspiration

CodeNudge started with a problem I faced myself.

I am still learning to code. I had used AI coding tools before, but getting working code did not always mean I understood it. I also lacked a proper workflow for planning, writing requirements, and checking whether the result was good.

I wanted help that left room for me to think. Something that could give me a clue, let me try, and offer more guidance when I genuinely needed it.

Inspired by the hint-based learning experience in Scrimba, I decided to bring that approach into VS Code, where learners are already writing their code.

What it does

CodeNudge is an open-source VS Code extension with two learning modes.

Debug mode helps someone practising a language or concept. It uses their code and available run results to offer a beginner-friendly clue. After repeated unsuccessful changes, it provides an inline hint beside the relevant line. If the learner remains stuck, it offers a proposed fix as a colored diff, with an explanation.

The learner chooses whether to accept the change. Rerunning unchanged code does not advance the help stage or request fresh analysis.

Project mode helps someone turn an idea into small, manageable tasks. Users can supply their own features or request a suggested plan, review it, and build one step at a time. CodeNudge provides conceptual nudges and feedback while users write the implementation themselves.

An animated robot companion and optional celebrations make the experience feel welcoming. Users can choose from hosted AI providers, local Ollama models, or a compatible custom endpoint.

How I built it

I used the Devpost Learn Skill Pack to work through the idea, scope, product requirements, and technical specification before implementation. Those planning documents are included in the public repository.

I worked with Codex to build the extension using TypeScript and the VS Code Extension API. The sidebar uses HTML, CSS, and JavaScript. Native editor decorations provide inline guidance, and VS Code’s diff view lets learners review proposed changes.

Git branches and commits kept changes organized. Verification included 107 source tests, installed-extension checks, and manual testing. Provider API keys are stored using VS Code SecretStorage.

The extension is published on the Visual Studio Marketplace, and its source is available under the MIT license.

Challenges I faced

Connecting advice to the correct code and run result was a major challenge. Early testing exposed missing terminal information, hints remaining after successful runs, and confusion when switching between files.

Another challenge was deciding what counts as effort. Repeating the same run should not unlock the solution. The extension needed to track changed attempts while keeping guidance connected to the same issue.

Testing also changed the design. Feedback led to automatic run linking, simpler controls, clearer success feedback, and a more expressive character.

What I learned

This project introduced me to a structured way of building with AI: define the problem, set boundaries, write requirements, and verify the result.

I also experienced why testing the actual user journey matters. Code could compile while the extension still behaved differently from what I expected.

I am still learning, but I now have a clearer workflow for turning an idea into something I can test and improve. CodeNudge reflects the kind of support I wanted during that process: guidance that helps me keep thinking and making progress.

Built With

Share this project:

Updates

Submission history