Necromancer Code Resurrector
Inspiration
Legacy code haunts every developer. Millions of lines of COBOL still power banking systems, ancient Fortran runs scientific simulations, and cryptic Assembly lurks in embedded systems. Developers inherit this "dead code" with no documentation, no tests, and no one left who understands it.
I thought: what if we treated legacy code like the undead? What if we could build a necromancer to resurrect it, perform autopsies on it, and even talk to it? Combining my love for horror aesthetics with a real developer pain point, Necromancer Code Resurrector was born - a spooky, immersive tool that makes legacy code translation actually fun.
What it does
Necromancer Code Resurrector is an AI-powered legacy code translation tool with a horror theme:
- Code Resurrection: Translates legacy languages (COBOL, Fortran, Assembly, BASIC) into modern ones (TypeScript, Rust, Go, Python)
- Autopsy Mode: Analyzes "dead" code to explain its logic, identify flaws, and determine its "cause of death"
- Curse Removal: Exorcises security vulnerabilities, refactors bad patterns, and optimizes performance
- Soul Binding: Generates comprehensive documentation and unit tests to "bind the code to reality"
- Full Ritual: Runs all modes in sequence for complete code transformation
- Spirit Medium: An AI chat interface to have conversations with your code - ask questions, get explanations
- Graveyard: Persistent history of all past translations stored locally
The entire experience is wrapped in an immersive horror aesthetic with blood-red UI, ambient audio, sanity mechanics, and demonic text-to-speech.
How we built it
Tech Stack:
- React 19 + TypeScript for the frontend
- Vite for lightning-fast builds and hot reload
- Tailwind CSS with custom horror-themed colors (
blood,rot,void) - Google Gemini AI (
gemini-2.5-flash) for all AI capabilities - Web Audio API for immersive sound effects (whispers, heartbeats, ambient drones)
- SpeechSynthesis API for demonic text-to-speech
AI Architecture: Each mode uses carefully crafted prompts that give Gemini different personas:
- A forensic pathologist for autopsy mode
- A programming necromancer for resurrection
- A code exorcist for curse removal
- A soul binder for documentation
Kiro IDE Features That Helped:
- Steering Files: Set up
.kiro/steering/withproduct.md,tech.md, andstructure.mdto give Kiro persistent context about the project's architecture, conventions, and tech stack. Every AI interaction was informed and consistent with the horror theme. - Kiro Hooks: Configured agent hooks to automate repetitive tasks - triggering linting on file save and running type checks automatically, keeping the codebase clean without manual intervention.
- Intelligent Edits: Made precise, targeted changes across multiple files without breaking existing functionality - updating UI components, adding copy buttons, and refining styles in seconds.
- Context Awareness: Kiro understood the horror theme throughout development, suggesting
blood-600borders instead of generic colors, maintaining spooky naming conventions, and keeping the immersive aesthetic consistent.
Challenges we ran into
Browser Audio Restrictions: Modern browsers block audio until user interaction. Solved with an "Enter the Crypt" splash screen that initializes the AudioContext on click.
Native Select Styling: Browser
<select>dropdowns have OS-level styling that can't be fully overridden. The blue hover effect persists despite CSS attempts.Prompt Engineering: Getting Gemini to return clean code without markdown fencing required careful instructions and post-processing to strip unwanted formatting.
State Complexity: Managing multiple translation modes, loading states, chat sessions, and history required careful state orchestration in React.
Sanity Mechanic Balance: The visual distortion effects needed tuning - too aggressive was annoying, too subtle was unnoticeable.
Accomplishments that we're proud of
- Immersive Experience: The combination of visuals, audio, and themed UI creates a genuinely atmospheric tool that makes legacy code work enjoyable
- Spirit Medium Chat: Being able to have a conversation with your code and ask "what does this function do?" is genuinely useful
- Full Ritual Pipeline: The multi-step transformation (Autopsy -> Resurrect -> Exorcise -> Bind) provides comprehensive code modernization
- Horror Audio Engine: Custom Web Audio API implementation with ambient drones, whispers, heartbeats, and demonic TTS
- Rapid Development with Kiro: Built the entire application with AI assistance, demonstrating how steering files and context-aware editing accelerate development
What we learned
- Prompt Engineering is an Art: Small changes in system instructions dramatically affect AI output quality and consistency
- Theming Transforms UX: A cohesive visual and audio experience turns a utility into an experience people want to use
- AI Assistants Multiply Productivity: Having context-aware help (via Kiro's steering files) that understands your codebase is a game-changer
- Legacy Code is Everywhere: Researching this project revealed just how much critical infrastructure runs on decades-old code
- Browser APIs Have Limits: Some things (like select styling) are simply not possible with current web standards
What's next for Necromancer
- More Source Languages: Add support for Pascal, Ada, PL/I, and other legacy languages
- File Upload Improvements: Support multi-file projects and ZIP uploads
- Code Diff View: Show side-by-side comparison of original and resurrected code
- Collaborative Séances: Real-time multiplayer code analysis sessions
- VS Code Extension: Bring the necromancer directly into the IDE
- Custom Rituals: Let users define their own transformation pipelines
- Voice Input: Speak incantations to control the tool (speech-to-text commands)
- More Horror Modes: Seasonal themes (Halloween special effects, Friday the 13th mode)
The dead code speaks. Will you listen? 💀
Log in or sign up for Devpost to join the conversation.