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
- bolt
- copilot
- javascript
- kiro
- nextjs
- ollama
- supabase
Log in or sign up for Devpost to join the conversation.