Inspiration

I’ve always been fascinated by how much of today’s world still runs on “dead” technology — billions of lines of COBOL and FORTRAN quietly keeping banks and governments alive. When I discovered that punch cards, the original way humans talked to computers, are literally gathering dust in attics and museums, the Kiroween theme hit me like lightning: what if we could resurrect the undead code of the 1960s with nothing more than a phone camera and modern AI? A haunted laboratory where zombie programs crawl back from the grave felt like the perfect Halloween resurrection story.

What it does

PunchRevive lets anyone point a phone at a real 60-year-old IBM punch card (or create one in-app) and watch it come screaming back to life. The app uses computer-vision to read the holes, decodes EBCDIC, and sends the ancient code to a local Llama 3 70B model that translates + automatically fixes bugs. The result is clean, runnable Python or JavaScript served inside a flickering green 1960s horror-lab UI complete with lightning flashes, ghost moans, and a downloadable “Certificate of Resurrection.” It’s equal parts nostalgic toy and legitimate legacy-code debugging tool.

How we built it

100 % inside Kiro — no exceptions.

  • Spec-driven development: a single massive YAML spec defined every user story and acceptance criteria. Kiro generated the entire Next.js 15 + Tailwind codebase from it.

  • Agent hooks: pre-commit hook runs a “curse detector” that lints code with Halloween-flavoured feedback.

  • Steering docs forced Kiro to write only mad-scientist comments and glowing green terminal aesthetics.

  • Custom MCP extension added native punch-card EBCDIC decoding and local Ollama/Llama 3 70B translation directly into Kiro’s brain — no paid APIs.

  • Tesseract.js + canvas preprocessing for real-world punch-card photos, Framer Motion + Howler.js for the resurrection ceremony, html2canvas for the certificate.

Deployed on Vercel in one click.

Challenges we ran into

  • Real punch-card photos are noisy — shadows, creases, and yellowed cardboard destroyed early OCR accuracy. Solved with aggressive grayscale thresholding and a custom hole-detection grid.

  • Kiro’s first UI pass looked too clean and modern. Multiple regeneration rounds + hyper-detailed steering docs were needed to nail the exact dusty, cobweb-covered horror-lab vibe.

  • Deadline panic + zero budget for cloud APIs → switched everything to local Llama 3 70B via Ollama on my laptop (40 GB download at 3 a.m. was its own horror story).

  • Making the 80×12 virtual puncher feel satisfying on mobile touchscreens took several frustrating iterations.

Accomplishments that we're proud of

  • Built a fully functional legacy-code resurrection tool in under a week using only Kiro and free/open-source models.

  • Achieved ≥ 95 % hole-detection accuracy on real vintage punch cards (tested with museum scans).

  • Created what multiple playtesters called “the most Kiroween thing they’ve ever seen” — the UI alone makes people audibly laugh and screenshot.

  • Proved spec-driven + hooks + MCP can cut development time by >60 % while keeping perfect thematic consistency.

What we learned

  • Spec-driven development with Kiro is insanely powerful when you’re on a deadline — it keeps context forever and removes 90 % of back-and-forth.

  • Steering docs are pure magic for creative projects; a single sentence like “write like a 1960s mad scientist” changed every generated line.

  • Local 70B models are now good enough to replace paid APIs for almost everything if you’re willing to wait a few seconds.

  • Halloween forces you to have fun — constraints breed creativity.

What's next for PunchRevive

  • Expand to floppy disks, paper tapes, and magnetic tapes (Resurrection Phase 2).

  • Freemium SaaS for enterprises migrating mainframe code — charge per resurrected COBOL module.

  • AR mode: hold your phone over a real punch card and watch the code float out as glowing green ectoplasm.

  • Museum partnerships: let visitors scan actual historic cards and take home modern versions.

Thank you Kiroween for the perfect excuse to bring the dead back to life.

Happy Halloween — may all your bugs be exorcised

What we learned

What's next for PunchRevive

Built With

Share this project:

Updates