Quest log — entry 16 July 2026

Press Start — I Turned My Portfolio Into an NES Game

The old site was nice. This one has coins, a warp zone, and a god mode. Here's why I rebuilt my portfolio as an 8-bit game, and what's hiding in it.

metatypescriptdesign

You found the blog. Nice. This is where I write down the useful bits I’d otherwise forget.

Why an 8-bit game?

The old site was a brutalist portfolio: pink, loud, with a terminal in it. I liked it. I just didn’t remember much about it once I’d closed the tab.

The sites I do remember are the ones that let me poke at things, take a wrong turn and find something the homepage never announced.

So this rebuild has one rule: everything should reward poking around.

What's under the hood

No frameworks, same as before. The whole thing is:

  • Static HTML pages, one per screen
  • Vanilla TypeScript bundled with esbuild
  • Tailwind CSS v4 with a custom NES-ish palette
  • Markdown posts compiled to HTML at build time by a ~70-line Node script
  • A Cloudflare Pages Function for the contact form

The chiptune sounds are synthesised in the browser with the Web Audio API — square waves, like nature intended. No audio files, no autoplay, muted until you say otherwise.

Things worth trying

I'm not going to list everything, because that defeats the point. But:

  1. There are coins scattered around the site. They do something if you find them all.
  2. A certain famous cheat code works here.
  3. There's a console hiding behind the backtick key.
  4. The 404 page is playable. Getting lost has never been this productive.

If you find the warp zone, you have my respect.

What's next

More posts will land here as I build things—mostly Laravel, Vue, TypeScript and Swift. Usually shorter than this. Usually with more code.

Thanks for playing.