<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gabriel Okemwa</title>
    <description>The latest articles on DEV Community by Gabriel Okemwa (@okemwag).</description>
    <link>https://dev.to/okemwag</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F944247%2F52d2a95c-3370-4e94-8171-1e6a1b64086b.png</url>
      <title>DEV Community: Gabriel Okemwa</title>
      <link>https://dev.to/okemwag</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/okemwag"/>
    <language>en</language>
    <item>
      <title>🎃 Resurrecting Dead Tech: Turning a 1990s Fax Machine into a Portal to the Afterlife</title>
      <dc:creator>Gabriel Okemwa</dc:creator>
      <pubDate>Thu, 04 Dec 2025 08:35:13 +0000</pubDate>
      <link>https://dev.to/okemwag/resurrecting-dead-tech-turning-a-1990s-fax-machine-into-a-portal-to-the-afterlife-52bg</link>
      <guid>https://dev.to/okemwag/resurrecting-dead-tech-turning-a-1990s-fax-machine-into-a-portal-to-the-afterlife-52bg</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0qbu6b8vw7ilavquaodi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0qbu6b8vw7ilavquaodi.png" alt=" " width="800" height="387"&gt;&lt;/a&gt;## 🎃 &lt;strong&gt;Resurrecting Dead Tech: Turning a 1990s Fax Machine into a Portal to the Afterlife&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How I transformed dead office hardware into a haunted AI storytelling machine with Kiro.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Fax machines died long ago.&lt;/p&gt;

&lt;p&gt;Their screeching modem noises, paper jams, thermal ink streaks, and endless “LINE BUSY” errors feel like relics from another lifetime — and honestly, they are.&lt;/p&gt;

&lt;p&gt;So for Kiroween, when the challenge was to &lt;strong&gt;resurrect dead technology&lt;/strong&gt;, I decided to bring back the fax machine…&lt;br&gt;
&lt;strong&gt;but not for office work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I resurrected it as something far more fun, spooky, and unexpected:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;GhostFax — the Afterlife Fax Machine:&lt;/strong&gt;&lt;br&gt;
A haunted retro fax terminal that lets you send messages to the dead… and receive faxes back.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Built with Kiro, GhostFax is part resurrection, part dark comedy, part storytelling engine, and part retro office nightmare — all wrapped inside a perfectly nostalgic 1990s fax machine UI.&lt;/p&gt;

&lt;p&gt;In this post, I’ll walk you through the idea, the build, the tech, and how Kiro transformed my development workflow.&lt;/p&gt;


&lt;h2&gt;
  
  
  👻 &lt;strong&gt;The Idea: What If a Fax Machine Could Reach Beyond the Veil?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Instead of faxing PDFs to a phone number, the user faxes messages to…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Limbo&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Afterlife DMV&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Underworld&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heaven Triage&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Lost &amp;amp; Found Dimension&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Archive of Dead Startups&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Obsolete Tech Spirits&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ancestors, ghosts, and forgotten objects&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When the user hits &lt;strong&gt;SEND FAX&lt;/strong&gt;, the terminal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dials through analog static&lt;/li&gt;
&lt;li&gt;screeches like a haunted modem&lt;/li&gt;
&lt;li&gt;flickers like a CRT losing signal&lt;/li&gt;
&lt;li&gt;“pierces the veil”&lt;/li&gt;
&lt;li&gt;transmits the message into the afterlife&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And moments later…&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;fax prints back&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A real AI-generated fax from the chosen realm — complete with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ethereal seals&lt;/li&gt;
&lt;li&gt;corrupted ASCII art&lt;/li&gt;
&lt;li&gt;glitchy characters&lt;/li&gt;
&lt;li&gt;bureaucratic afterlife stamps&lt;/li&gt;
&lt;li&gt;cosmic disclaimers&lt;/li&gt;
&lt;li&gt;ghostly personality&lt;/li&gt;
&lt;li&gt;lore about who in the afterlife processed your message&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s absurd.&lt;br&gt;
It’s spooky.&lt;br&gt;
It’s ridiculously fun.&lt;/p&gt;

&lt;p&gt;And most importantly for Kiroween…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It is a resurrection of dead tech reinvented for a whole new purpose.&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnq78mw89p07t9l5cr40.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnq78mw89p07t9l5cr40.png" alt=" " width="800" height="350"&gt;&lt;/a&gt; 📠 &lt;strong&gt;The Core Experience (Built on a Fully Retro Fax UI)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built the original version of this project as FaxGPT — a retro-themed AI fax simulator with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a 1990s beige plastic theme&lt;/li&gt;
&lt;li&gt;pixel fonts&lt;/li&gt;
&lt;li&gt;CRT scanline overlays&lt;/li&gt;
&lt;li&gt;WebAudio fax sounds&lt;/li&gt;
&lt;li&gt;an old-school LCD status panel&lt;/li&gt;
&lt;li&gt;paper-feed animations&lt;/li&gt;
&lt;li&gt;simulated fax transmission flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For Kiroween, I &lt;strong&gt;transformed it entirely&lt;/strong&gt; into GhostFax.&lt;/p&gt;
&lt;h3&gt;
  
  
  GhostFax adds:
&lt;/h3&gt;

&lt;p&gt;✔️ Interdimensional realms&lt;br&gt;
✔️ Supernatural recipients&lt;br&gt;
✔️ Haunted “transmission” sequences&lt;br&gt;
✔️ Outbound &amp;amp; inbound ghostly faxes&lt;br&gt;
✔️ Realm-based reply templates&lt;br&gt;
✔️ Spooky AI lore generation&lt;br&gt;
✔️ A metaphysical fax routing system&lt;br&gt;
✔️ Error messages from beyond&lt;br&gt;
✔️ Ethereal seals &amp;amp; a horror-fax aesthetic&lt;/p&gt;

&lt;p&gt;Instead of a boring office utility, the fax machine becomes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A haunted portal for supernatural correspondence.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The same UI — but a completely new purpose, experience, and magic.&lt;/p&gt;


&lt;h1&gt;
  
  
  ⚙️ &lt;strong&gt;How I Used Kiro to Build GhostFax&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This section is critical for judging.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Kiro wasn’t just a coding assistant — it became my &lt;strong&gt;co-designer&lt;/strong&gt;, &lt;strong&gt;creative partner&lt;/strong&gt;, &lt;strong&gt;prompt engineer&lt;/strong&gt;, and &lt;strong&gt;automation system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here’s how:&lt;/p&gt;


&lt;h2&gt;
  
  
  🧪 &lt;strong&gt;1. Vibe Coding — Brainstorming the Afterlife&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I used vibe coding sessions in Kiro to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;brainstorm the realms of the afterlife&lt;/li&gt;
&lt;li&gt;create supernatural bureaucratic departments&lt;/li&gt;
&lt;li&gt;invent personalities for demons, angels, and lost socks&lt;/li&gt;
&lt;li&gt;design glitched ASCII seal stamps&lt;/li&gt;
&lt;li&gt;come up with fax-error messages like:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;“VEIL INTERFERENCE: Please realign your mortal frequency.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The creativity was 🔥.&lt;/p&gt;

&lt;p&gt;These back-and-forth sessions shaped the entire GhostFax universe.&lt;/p&gt;


&lt;h2&gt;
  
  
  📐 &lt;strong&gt;2. Spec-Driven Development — Formalizing the GhostFax Universe&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Once the creative ideas were solid, I used Kiro’s spec system to formalize everything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;realm definitions&lt;/li&gt;
&lt;li&gt;AI prompt templates&lt;/li&gt;
&lt;li&gt;fax header formats&lt;/li&gt;
&lt;li&gt;supernatural personality rules&lt;/li&gt;
&lt;li&gt;glitch parameters&lt;/li&gt;
&lt;li&gt;archive schemas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Specs turned the spooky vibe into a &lt;strong&gt;robust, consistent data model&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Every realm has:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name:
tone:
response_style:
header_template:
seal_template:
glitch_intensity:
forbidden_knowledge_probability:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kiro then auto-generated code and UI components for each realm based on the specs.&lt;/p&gt;

&lt;p&gt;This massively improved consistency and reduced manual work.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔁 &lt;strong&gt;3. Agent Hooks — Automating the Haunted Pipeline&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The magic of GhostFax comes from &lt;strong&gt;automated supernatural workflows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I built hooks in &lt;code&gt;/.kiro&lt;/code&gt; that run whenever:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a new fax is sent&lt;/li&gt;
&lt;li&gt;a new realm is added&lt;/li&gt;
&lt;li&gt;a reply is generated&lt;/li&gt;
&lt;li&gt;an entity or lore system changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hooks trigger:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reply fax formatting&lt;/li&gt;
&lt;li&gt;glitch-stylizing&lt;/li&gt;
&lt;li&gt;seal stamping&lt;/li&gt;
&lt;li&gt;AI classification&lt;/li&gt;
&lt;li&gt;cosmic routing logs&lt;/li&gt;
&lt;li&gt;“afterlife delivery delays”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hooks turned GhostFax into a &lt;strong&gt;self-expanding haunted system&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 &lt;strong&gt;4. Steering Docs — Maintaining Tone &amp;amp; Lore Consistency&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;GhostFax needed a very specific tone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;spooky&lt;/li&gt;
&lt;li&gt;funny&lt;/li&gt;
&lt;li&gt;bureaucratic&lt;/li&gt;
&lt;li&gt;slightly broken&lt;/li&gt;
&lt;li&gt;distinctly “fax-like”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wrote a steering doc to enforce:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the narrative style&lt;/li&gt;
&lt;li&gt;realm personalities&lt;/li&gt;
&lt;li&gt;consistent metaphors&lt;/li&gt;
&lt;li&gt;the supernatural office aesthetic&lt;/li&gt;
&lt;li&gt;constraints (“no modern slang”, “responses must feel analog”)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This ensured the app stayed cohesive and immersive no matter how many faxes were sent.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔌 &lt;strong&gt;5. MCP — Extending Kiro with Supernatural Tools&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To really push creativity, I used MCP to create custom tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;glitch generator&lt;/strong&gt; (overstriking, ASCII corruption)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;noise texture generator&lt;/strong&gt; (for haunted fax pages)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;afterlife-seal renderer&lt;/strong&gt; (ASCII-paid stamp tool)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;haunting redaction engine&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tools let Kiro produce rich, spooky document artifacts automatically.&lt;/p&gt;

&lt;p&gt;They elevated GhostFax from “AI chatbot” to a &lt;strong&gt;full-blown horror-office simulation&lt;/strong&gt;.&lt;/p&gt;




&lt;h1&gt;
  
  
  🛠️ &lt;strong&gt;Tech Stack Behind the Haunting&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;GhostFax runs on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 15&lt;/strong&gt; (App Router)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TailwindCSS&lt;/strong&gt; (custom retro-beige theme)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase&lt;/strong&gt; (archive &amp;amp; storage)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebAudio API&lt;/strong&gt; (fax noises, static, haunted ambience)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenAI for AI generation&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kiro&lt;/strong&gt; for specs, steering, hooks, vibe coding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No fax APIs.&lt;br&gt;
No costs.&lt;br&gt;
No external dependencies.&lt;/p&gt;

&lt;p&gt;Just pure, haunted creativity.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧛‍♀️ &lt;strong&gt;Challenges (and Why They Were Fun)&lt;/strong&gt;
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Making the fake fax transmissions FEEL real&lt;/li&gt;
&lt;li&gt;Designing believable afterlife bureaucracies&lt;/li&gt;
&lt;li&gt;Crafting glitch effects that look intentional&lt;/li&gt;
&lt;li&gt;Building reply formats that feel “printed from beyond”&lt;/li&gt;
&lt;li&gt;Ensuring Kiro stayed spooky and not too modern&lt;/li&gt;
&lt;li&gt;Mapping realms to their own aesthetic and voice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each challenge was solved with a mix of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;thoughtful design&lt;/li&gt;
&lt;li&gt;prompt engineering&lt;/li&gt;
&lt;li&gt;Kiro specs&lt;/li&gt;
&lt;li&gt;custom hooks and tools&lt;/li&gt;
&lt;li&gt;a lot of dark humor&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  🧟 &lt;strong&gt;The Result: A Fax Machine That Should Not Exist&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;GhostFax delivers an experience that is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;retro&lt;/li&gt;
&lt;li&gt;haunted&lt;/li&gt;
&lt;li&gt;weird&lt;/li&gt;
&lt;li&gt;funny&lt;/li&gt;
&lt;li&gt;emotionally surprising&lt;/li&gt;
&lt;li&gt;deeply original&lt;/li&gt;
&lt;li&gt;and powered entirely by modern AI and developer tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s exactly the spirit of Kiroween:&lt;br&gt;
&lt;strong&gt;resurrecting dead tech and turning it into something unforgettable.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  👋 &lt;strong&gt;Closing Thoughts: Kiro Changed My Entire Workflow&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Kiro didn’t just help me write code — it helped me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;brainstorm&lt;/li&gt;
&lt;li&gt;worldbuild&lt;/li&gt;
&lt;li&gt;structure&lt;/li&gt;
&lt;li&gt;enforce tone&lt;/li&gt;
&lt;li&gt;generate assets&lt;/li&gt;
&lt;li&gt;automate workflows&lt;/li&gt;
&lt;li&gt;maintain style consistency&lt;/li&gt;
&lt;li&gt;and turn a wild idea into a polished product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GhostFax would NOT exist without Kiro.&lt;/p&gt;

&lt;p&gt;And honestly, that’s the best proof of how powerful Kiro is:&lt;br&gt;
It empowered me to resurrect dead tech in a way that feels alive, spooky, and wildly creative.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔗 &lt;strong&gt;Links&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://ghostfax.vercel.app" rel="noopener noreferrer"&gt;https://ghostfax.vercel.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>kiroween</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
