Dev100x: The Code Necromancer Inspiration We've all stared into the abyss of a polished, brilliant, but utterly dead GitHub repository. Maybe it was a Flash game from 2008, a Python 2 library that solved a specific problem perfectly, or a PHP script that ran a community for a decade. It’s heartbreaking to see good logic rot simply because the syntax or framework fell out of favor.
For Kiroween, we didn't just want to build a tool; we wanted to perform a ritual. We asked ourselves: What if we could summon the spirit of this old code and give it a new, modern body? We were inspired by the "Resurrection" category to build Dev100x, an AI agent that refuses to let good code die.
What it does Dev100x is an automated re-engineering pipeline that takes the source code of a legacy or "dead" application and transmutes it into a modern stack.
Ingestion: It reads the legacy codebase (e.g., vanilla PHP, Python 2.7, jQuery). Spirit Analysis: It extracts the core business logic, algorithms, and data structures, separating the "intent" from the "implementation." Transmutation: It rewrites the application into a modern framework (Next.js, React, Node.js) while preserving the original functionality. Resurrection: It outputs a ready-to-deploy, modern codebase. It effectively turns a "Zombie" project into a high-performance modern web app.
How we built it We built Dev100x entirely within Kiro, leaning heavily on its advanced agentic capabilities:
Vibe Coding: We used Kiro's vibe coding to rapidly prototype the "Necromancer Engine." The natural language interface allowed us to iterate on the prompt engineering required to handle different legacy languages without getting bogged down in boilerplate regex. MCP (Model Context Protocol): This was the game-changer. We used MCP to give Kiro direct access to the file system to read complex, multi-folder legacy project structures. Instead of pasting files one by one, the agent could "walk" the graveyard of the old repo itself. Agent Hooks: We set up a custom pipeline where committing the legacy code to a specific branch triggers a "Resurrection Hook," automatically starting the analysis and refactoring process. Steering Docs: We created a necromancy_rules.md steering document to guide Kiro's refactoring style—ensuring it favored functional components and hooks over class-based legacy patterns. Challenges we ran into The "Black Box" of Legacy Code: Old code often relies on obscure libraries or side effects (like global variables in PHP). Teaching the AI to recognize these implicit dependencies was tough. Hallucination vs. Translation: Early versions of the agent would sometimes "invent" new features rather than just porting existing ones. We had to tune the Steering Docs to strictly effectively "constrain" the creativity during the translation phase but unleash it during the UI polishing phase. Context Window Limits: Some legacy files were massive "God classes." We had to implement a chunking strategy to feed the code to Kiro in digestbile parts. Accomplishments that we're proud of The "Lazarus" Moment: The first time we successfully took a 10-year-old jQuery ToDo app and saw it running hot-reloaded as a React functional component. It felt like magic. Seamless MCP Integration: Building a tool that feels like a native part of the IDE rather than an external script. The Spooky UI: We're particularly proud of our own UI (built with Kiro, of course), which treats the refactoring process like a summoning ritual with appropriate visual feedback. What we learned Code is Logic, Syntax is just Clothing: We learned that behind the ugly syntax of 2010 lies the same fundamental logic we use today. Kiro helped us see the pattern behind the chaos. The Power of Steering: We underestimated how much better Kiro performs when you give it a "persona" or specific ruleset via Steering Docs. It turned a generic code generator into a specialized legacy expert. What's next for Dev100x Cross-Language Support: Expanding beyond Web Legacy to support bringing desktop apps (Java Swing, VB6) to the web. Automated Testing Generation: Not just porting the code, but generating modern Jest/Playwright tests to prove the resurrection was successful. The "Frankenstein" Mode: Allowing users to merge two dead repos into one new super-app. Dev100x is just the beginning. The graveyard is full, and we have a lot of work to do. 🎃
Built With
- amazon-web-services
- css3
- express.js
- google-auth
- google-gmail-oauth
- html5
- javascript
- linux
- mongodb
- node.js
- nodemailer
- razorpay
- react
Log in or sign up for Devpost to join the conversation.