Local-first Β· AI-native Β· Notebook-powered Β· Zero cloud required
Every developer knows this loop:
Tab 1: LeetCode problem
Tab 2: Stack Overflow (why is my recursion wrong?)
Tab 3: ChatGPT (explain this to me like I'm five)
Tab 4: YouTube tutorial
Tab 5: VS Code (where actual work happens)
You context-switch more than you code. And none of these tools talk to each other, remember what you struggle with, or care whether you actually understood the concept β or just copied the answer.
The industry gave you a practice platform. Then an AI assistant. Then an interview prep app. All separate. All disconnected from the place where you actually write code.
CogniForge Studio is the bet that this is all wrong.
Learning should happen inside the editor, with an AI that watches you code, adapts to where you're stuck, and guides you β not just generates for you. No tabs. No accounts. No cloud. Just you, your notebook, and an AI tutor that lives where your code lives.
CogniForge turns a VS Code notebook cell into a full learning environment:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π two-sum.pwtutor [CogniForge] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β β Problem β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Given an array of integers nums and an integer β β
β β target, return indices of the two numbers that β β
β β add up to target. β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β β Your Solution [Python] β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β def two_sum(nums, target): β β
β β for i in range(len(nums)): β β
β β for j in range(i+1, len(nums)): β β
β β if nums[i] + nums[j] == target: β β
β β return [i, j] β O(nΒ²) π€ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β β CogniForge [Optimize Mode] β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β¦ Your solution is correct. Here's the tradeoff: β β
β β β β
β β Current: O(nΒ²) time Β· O(1) space β β
β β Optimal: O(n) time Β· O(n) space β β
β β β β
β β The key insight: what if you stored what you've β β
β β already seen as you walk the array once? β β
β β β β
β β [βΆ Reveal approach] [Try it first β] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Ctrl+Shift+P β CogniForge: ___________
β
βββββββββββββββββΌβββββββββββββββββββββββββ
β β β
π‘ Hint π Explain π Debug
Socratic nudge. What your code Root-cause first.
No spoilers. actually does. Not just "here's
In plain English. the fix."
β
ββββββββββββββββββ΄ββββββββββββββββ
β β
β‘ Optimize π― Interview Feedback
Complexity analysis Interviewer-style evaluation.
+ rewrite path. Correctness Β· Tradeoffs Β·
Shows the why, Likely follow-ups.
not just the what.
You write code
β
βΌ
CogniForge analyzes βββββ codeAnalysis.js
Β· mistake type
Β· complexity signals
Β· hint ladder position
β
βΌ
Tutor responds βββββ promptEngine.js + LM API
Β· calibrated to YOUR profile
Β· aware of YOUR recent struggles
Β· paced to YOUR current track
β
βΌ
Local memory updates βββββ VS Code state, no server
Β· weak topics logged
Β· struggle streaks tracked
Β· next problem recommended
β
βΌ
You improve
(actually)
Most "AI learning tools" send your code to a server. Your half-finished solutions, your wrong answers, your debugging sessions β uploaded, processed, stored.
CogniForge doesn't.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β YOUR MACHINE β
β β
β ββββββββββββββββ ββββββββββββββββββββββββββββ β
β β Your Code ββββββΆβ CogniForge Engine β β
β ββββββββββββββββ β β β
β β Β· Code execution β β
β ββββββββββββββββ β Β· Learner profile β β
β β VS Code ββββββΆβ Β· Weak topic memory β β
β β State β β Β· Struggle streaks β β
β ββββββββββββββββ β Β· Problem catalog β β
β ββββββββββββ¬ββββββββββββββββ β
β β β
β βββββββββββββββββΌβββββββββββββββ β
β β VS Code LM API / Copilot β β
β β Reasoning runs here, local β β
β ββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Optional only
ββββββββββΌββββββββββββ
β Sarvam API β
β translation + β
β voice output β
ββββββββββββββββββββββ
What this means for you:
| Cloud-based AI tools | CogniForge Studio | |
|---|---|---|
| Your code leaves your machine | β Always | β Never (core features) |
| Works offline | β | β Full core functionality |
| Latency | Network round-trip | Instant (local LM) |
| Account required | β | β |
| Learner data on servers | β | β VS Code state only |
| Breaks without internet | Completely | Gracefully |
Your learning data is yours. Your code stays on your machine. Your progress doesn't live on someone else's server.
This matters especially if you're solving problems that touch proprietary code patterns, working in a low-connectivity environment, operating under strict data policies, or simply someone who doesn't want their wrong answers uploaded to a cloud.
CogniForge isn't another practice platform.
The thesis is this:
The next generation of developer learning won't happen on websites. It will happen inside the tools developers already use β with AI that watches, adapts, and guides in real time, without ever leaving the editor or phoning home.
Every design decision reflects this:
- Notebooks instead of isolated problem pages β because your editor is already your thinking environment
- Local state instead of accounts β because your learning profile should belong to you
- Tutor modes instead of code generation β because knowing why matters more than getting the answer
- Adaptive memory instead of streaks β because what you struggle with matters more than how often you show up
- Indian language support built in from day one β because 1.4 billion people shouldn't have to learn in their second language
Structured practice over a chosen topic, not random problem grinding.
Focus areas: DSA Β· Data Structures Β· Python Β· JavaScript Β· SQL Β· AI Β· GenAI
The difference from a LeetCode grind: CogniForge tracks which patterns you're weak on, not just which problems you've completed. It slows down when you keep hitting the same wall. It recommends the next problem based on where your actual gaps are.
CogniForge: Start Learning Mode Β· New Study Track Notebook Β· New Pattern Practice Notebook
Not generic coding rounds. Role-specific preparation with interviewer-calibrated feedback.
Supported roles:
Software Engineering AI / ML GenAI
Data Engineering Cloud / DevOps / SRE Cybersecurity
You get a role brief, representative problems, and feedback structured around the three things interviewers actually evaluate: correctness, tradeoffs, and clarity under follow-up.
CogniForge: Start Interview Mode Β· CogniForge: Interview Feedback
Bring any function. Any bug. Any confusing output.
CogniForge tells you what's happening and why β not just rewriting it for you. The goal is that you leave understanding the code better than when you came in.
Explain My Code Β· Give Me a Hint Β· Debug My Code Β· Optimize My Approach
- VS Code
^1.98.0 - Python 3 β for Python notebook cells
- Node.js β for JavaScript notebook cells
- GitHub Copilot + Copilot Chat β powers the reasoning layer (strongly recommended)
# Clone
git clone https://github.com/your-org/CogniForge.git
cd CogniForge
# Install
npm install
# Open in VS Code and press F5 to launch the Extension Host
code .1. Ctrl+Shift+P β CogniForge: Configure Learner Profile
2. Pick your track and difficulty
3. Ctrl+Shift+P β CogniForge: Start Learning Mode
4. Write code in the notebook cell Β· run it locally
5. Ctrl+Shift+P β CogniForge: Give Me a Hint
or: Explain My Code
or: Debug My Code
or: Optimize My Approach
6. Repeat until it actually clicks
Optional: Set a Sarvam API key (CogniForge: Set Sarvam API Key) to enable translated explanations and voice output in Indian languages.
| Category | Command |
|---|---|
| Notebooks | Start Learning Mode Β· New Practice Notebook Β· New Study Track Notebook Β· New Pattern Practice Notebook Β· Start Code Help Mode Β· Start Interview Mode Β· Import LeetCode Problem |
| Tutor | Explain My Code Β· Give Me a Hint Β· Debug My Code Β· Optimize My Approach Β· Interview Feedback Β· Speak Last Explanation |
| Config | Configure Learner Profile Β· Set Sarvam API Key |
| Setting | What it controls |
|---|---|
cogniforge.defaultRuntime |
Default code execution runtime |
cogniforge.pythonCommand |
Python executable path |
cogniforge.nodeCommand |
Node executable path |
cogniforge.reasoningModelVendor |
LM vendor for AI reasoning |
cogniforge.reasoningModelFamily |
LM family for AI reasoning |
cogniforge.sarvamModel |
Sarvam model selection |
cogniforge.translationScriptMode |
Native script vs. romanized output |
cogniforge.sarvamVoice |
Voice selection for TTS |
CogniForge/
βββ src/
β βββ extension.js # Entry point Β· notebook orchestration Β· command registration Β· memory updates
β βββ promptEngine.js # Prompt construction for all tutor modes and adaptive reasoning context
β βββ llmClient.js # VS Code Language Model API integration and Copilot availability checks
β βββ sarvamClient.js # Translation and text-to-speech via Sarvam
β βββ codeAnalysis.js # Mistake-type detection Β· complexity signals Β· hint ladder positioning
β βββ problemCatalog.js # Curated learning tracks Β· interview role presets Β· notebook metadata
β βββ leetcodeClient.js # LeetCode import and notebook-ready problem shaping
βββ examples/
β βββ two-sum.pwtutor # Example notebook in the extension's native format
βββ package.json
- Local code execution depends on your installed Python / Node runtime
- AI guidance requires GitHub Copilot or a configured Sarvam API key
- LeetCode import depends on LeetCode's current public request shape
- SQL mode covers reasoning and explanation β embedded SQL runner not yet included
- No cross-device sync or cloud analytics (by design for core features)
- Stronger mastery tracking and weak-topic recovery paths
- Richer notebook UX β action-driven, collapsible hint reveal flows
- SQL execution via embedded local SQLite
- Expanded curated tracks and role packs
- Test coverage for notebook, prompt, and LM flows
- Demo GIFs and polished first-run onboarding
If you believe developer education belongs in the editor β help build it.
Priority areas:
- Notebook UX polish
- SQL mode implementation
- Stronger AI fallback behavior
- New curated learning tracks
- Test and mock LM coverage
- Multilingual experience improvements
See CONTRIBUTING.md to get started.
examples/two-sum.pwtutor
Open it in VS Code with the extension running to see the full notebook format in action.
MIT β build on it, learn from it, make it better.
The editor is the classroom. The notebook is the lesson plan. The AI is the tutor. Your data stays yours.
Built for developers who learn by doing β and want to actually understand what they did.