JustPromptBro — The AI-First IDE That Punishes Manual Coding

Inspiration We wanted to fully embrace the idea of vibe coding — putting the power and joy back into the hands of developers. In an era where AI can write code for you, why are we still suffering through manual keystrokes? We asked ourselves: what if your IDE actively encouraged you to use AI instead of typing code yourself?

The answer was JustPromptBro: an agentic AI IDE that maximizes dopamine while minimizing effort.

What It Does

JustPromptBro is a modified VSCode that implements a behavioral reward system:

Chaos Mode 🔥: When you type code manually, meme video popups spawn on your screen. The more you type, the more popups accumulate (up to 20 simultaneous videos with overlapping audio). You cannot close them manually.

Serenity Mode 🧘: The moment you switch to the AI chat sidebar, all chaos instantly vanishes. Encouraging videos play, followed by peaceful lofi-style background music. Pure zen.

Seriousness Detection (experimental): A .vsix feature that uses your camera to detect if you're taking yourself too seriously while coding.

The core philosophy: Just prompt, bro.

How We Built It

We forked VSCode and built a three-controller architecture:

ChaosController — Tracks keystrokes and decides when to spawn punishment popups VideoPopupController — Manages the random positioning and lifecycle of meme videos SerenityController — Handles encouragement videos and ambient background music Key technical decisions:

Event-driven architecture using VSCode's Emitter and Event system Proper resource management with Disposable and DisposableStore patterns Dual focus detection strategy (event listeners + polling) to handle webview edge cases State machine for smooth transitions between chaos and serenity modes

Challenges We Faced

The biggest challenge was implementing seriousness detection. VSCode on macOS blocks camera access at the Electron level, making it significantly harder to detect when users are being too serious about their code. We had to explore creative workarounds for this experimental feature.

Detecting focus switches between the code editor and AI chat sidebar was also tricky — webviews don't trigger standard focus events reliably, so we implemented a fallback polling mechanism at 100ms intervals.

What We Learned

VSCode Extension Development: Deep dive into the workbench contribution system, editor services, and how to build proper lifecycle-managed extensions Behavioral Design: How positive and negative reinforcement can genuinely change user behaviour (even if the "punishment" is just meme videos) TypeScript Patterns: Practical use of disposables, event emitters, and state machines in a real-world application Creative Problem Solving: Sometimes the best way to solve a problem is to make the problem so annoying that users choose the better path

What's Next

Provably random system: Integrate Chainlink VRF to show users that it is provably fair. Achievement System: Earn badges for maintaining AI-only coding streaks, unlock new encouragement videos, compete on leaderboards More Punishment Modes: Screen shake, inverted colors, keyboard input lag — the possibilities are endless Cross-platform Seriousness Detection: Find a way to make the camera feature work on all platforms

Built With

Share this project:

Updates