Inspiration Debugging is often a lonely, frustrating game of "hunt the needle." Traditional debuggers show you where it broke, but they rarely tell you why it matters in the context of your entire architecture. We wanted to build something that feels like having a Senior Architect sitting right next to you—someone who doesn't just see lines of code, but understands the "nervous system" of the project. GhostDebugger was born from this vision: a "ghost in the machine" that makes the invisible visible.
What it does GhostDebugger is a premium JetBrains plugin that transforms debugging into a visual, AI-augmented experience.
NeuroMap & Pixel City: Instead of dry file lists, we visualize your project as a living, breathing Pixel City (inspired by Barcelona's Eixample). Buildings represent classes/modules—their height reflects complexity, while their color indicates health (Devastated for errors, WIP for warnings, and Complete for stable code). Global Analysis: Using the IntelliJ PSI API, it performs a "deep scan" of the entire repository to detect circular dependencies, memory leaks, and architectural risks that standard linters miss. AI Architect (GPT-4o): Powered by OpenAI, the plugin provides human-readable explanations and "Senior-level" fixes that respect your project's specific design patterns. What If / Impact Analysis: Before you refactor, GhostDebugger simulates the ripple effects, showing you exactly which "buildings" in your city might collapse if you change a core module. How we built it We bridged the industrial power of the IntelliJ SDK (Kotlin) with the fluid aesthetics of modern web tech:
Core: Built in Kotlin, leveraging the Program Structure Interface (PSI) for deep static analysis. Frontend: A high-performance React + Vite app running inside a JCEF (Java Chromium) webview. Visualization: We used React Flow for the logic-heavy NeuroMap and custom CSS-art for the Pixel City, featuring dynamic elements like UFO overflights, day/night cycles, and even cats on the roofs of your most stable "buildings." Bridge: A custom JSON-based protocol allows low-latency communication between the Kotlin backend and the React frontend. Challenges we ran into Performance: Visualizing thousands of files as interactive 3D-ish buildings at 60fps within an IDE was a major hurdle. We implemented custom tree-shaking and viewport-culling to keep the "City" smooth. Context Density: Providing enough code context to OpenAI without hitting token limits required a proprietary "importance ranking" algorithm to feed only the most relevant AST nodes to the model. Accomplishments that we're proud of Creating a videogame-like HUD for professional developers that actually provides real value. Developing a "Fix It" engine that understands why a pattern is used, not just what the syntax error is. What we learned We mastered the art of IDE extension development, learned how to manage complex state across hybrid language environments (Kotlin/JS), and discovered that even the most technical tools can benefit from a touch of whimsical design.
What's next for GhostDebugger Multi-repo City: Connecting multiple microservices into a single "Metropolis." Time Travel: Visualizing how the "City" grew and changed over Git history. Collaborative Ghosts: Shared architectural notes left by teammates directly in the NeuroMap. Dynamic and multilanguage support.
Built With
- css
- gradle
- intellij-idea
- jcef
- kotlin
- lucide
- openai
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.