🌟 Inspiration

Fax machines are long dead — relics from the era of landlines, dial tones, and dimly lit office cubicles. But there’s something undeniably charming about their clunky plastic shells, shrieking modem noises, and jittery printed pages. When Kiroween challenged us to resurrect dead technology, the answer became obvious:

Why bring back a fax machine for business paperwork… when we could bring it back as a supernatural communication portal?

Thus, GhostFax was born — a 1990s fax terminal redesigned to send messages into the afterlife and receive haunted faxes back. It blends nostalgia, horror comedy, AI creativity, and retro UI design into a single ridiculous, spooky, delightful experience.

It turns dead tech into a gateway for… more dead things.


👻 What it does

GhostFax lets users:

📠 Send “faxes” to realms beyond the living, including:

  • Limbo
  • The Afterlife DMV
  • The Underworld
  • Heaven Triage
  • The Lost & Found Dimension
  • The Archive of Dead Startups
  • The Realm of Obsolete Technology

👥 Choose supernatural recipients, like:

  • Ancestors
  • Expired packages
  • Lost socks
  • Dead startups
  • Netscape Navigator Dev Team
  • Ghosts of old gadgets

🖤 “Transmit” with haunted audio-visual effects

  • glitchy CRT flickers
  • distorted modem screeches
  • static overlays
  • “piercing the veil…” status messages

📄 Receive AI-generated reply faxes from the afterlife

Each fax includes:

  • realm-specific letterheads
  • ethereal seals
  • glitch artifacts
  • bureaucratic stamps
  • spooky tone and lore
  • full narrative responses

GhostFax takes a form of technology that no longer has relevance in the modern world and reimagines it as a supernatural story engine, wrapped in a retro-accurate 1990s interface.


🛠️ How we built it

GhostFax is built using:

🖥️ Frontend

  • Next.js 15 (App Router)
  • TypeScript
  • TailwindCSS with a custom retro-beige fax theme
  • WebAudio API for modem screeches & ambient hauntings
  • CRT screen effects, paper-feed animations, pixel fonts

🧠 AI Layer (powered with Kiro)

We leveraged Kiro heavily for:

Vibe Coding

  • Brainstorming afterlife realms, personalities, tone, and lore
  • Generating supernatural bureaucracies and cosmic error messages
  • Co-creating the “GhostFax Universe”

Spec-Driven Development

  • Realm definitions
  • Recipient archetypes
  • Fax header/footers & ASCII seals
  • Glitch rules
  • Narrative response templates

Agent Hooks

Automations trigger when:

  • a fax is sent
  • a realm is added
  • a reply is generated
  • lore data updates

Hooks handle:

  • formatting
  • glitch generation
  • seal stamping
  • routing logs
  • tone enforcement

Steering Docs

We wrote strict steering docs enforcing:

  • spooky-but-funny voice
  • retro fax aesthetic
  • analog-horror style replies
  • cosmic office humor

MCP Extensions

Custom MCP tools generate:

  • ASCII glitches
  • redaction overlays
  • supernatural seal stamps
  • noise textures for haunted artifacts

📦 Backend & Storage

  • Supabase for storage and inbox/archive
  • AI pipeline for reply generation
  • PDF renderer for fax-like documents
  • No real fax providers used (no cost, no dependencies)

Challenges we ran into

1. Making fake faxes feel real

We wanted transmissions to feel like actual documents passing through a supernatural phone line. This required:

  • glitch simulation
  • synthetic corruption
  • timing randomness
  • audio layering

2. Maintaining consistent narrative tone

With many realms and characters, replies could drift. Kiro steering docs solved this beautifully.

3. Designing believable realms

How do you give a fax from the Underworld a different vibe than one from Limbo? Specs and hooks helped standardize personalities.

4. Balancing horror and humor

We aimed for “playfully spooky,” not “genuinely terrifying.” Fine-tuning prompts took time.

5. Retro UI accuracy

Replicating a 1990s fax terminal required:

  • CRT distortions
  • soft shadows
  • analog noise
  • pixel-perfect fonts

🏆 Accomplishments that we're proud of

  • Resurrecting a dead technology in a wildly imaginative way
  • Creating an AI-powered story engine disguised as a fax machine
  • Achieving a perfect retro experience, both visually and audibly
  • Building a completely new use case from an existing app
  • Designing a multi-realm supernatural world with consistent lore
  • Leveraging every major Kiro feature (vibe, specs, hooks, steering, MCP)
  • Creating the most haunted office equipment ever made

The end result is fun, eerie, nostalgic, and unlike anything we’ve ever built before.


What we learned

1. Specs + Hooks = Superpowers

Kiro’s specs let us formalize creative ideas. Hooks automated entire narrative workflows.

2. Steering docs matter for creativity

Tone control is everything when generating stylized AI content.

🔊 3. Audio transforms an experience

Fax noises + spectral distortions = instant immersion.

👻 4. You can resurrect dead tech without APIs

No Twilio. No fax provider costs. Just creativity.

5. Kiro expands imagination, not just productivity

It didn’t just help code. It helped invent worlds.


What's next for GhostFax — The AI-Powered Fax Machine Reborn

We’re not done yet. Planned expansions include:

  • Multiplayer haunting: send faxes between living users through afterlife relays
  • Realm unlock system: discover hidden realms via certain message types
  • Boss entities: fax demons that respond unpredictably
  • Afterlife inbox search: “find all faxes mentioning cursed objects”
  • AI voice messages from ghosts
  • Haunted cover sheets generator
  • A storyline mode: uncover the mystery of the cosmic fax network

GhostFax started as a retro revival… and evolved into an entire supernatural communication platform.

The machine is alive. Or dead. Or something in between.

And this is only the beginning.

Built With

  • kiro
  • nextjs
  • supabase
Share this project:

Updates