Building a portfolio that is secretly a dungeon

Sample article — replace me with your own writing. I exist so the chests in the dungeon have something inside them.

This site looks like a normal retro portfolio. Click the right thing, though, and the chrome dissolves into an 8-bit dungeon. The trick is that there is no trick: both views read from the same content files.

One source, two renderers

Every article is a markdown file in content/articles/. The server parses it once and hands it to two consumers:

  1. The classic site — server-rendered HTML, crawlable and linkable.
  2. The dungeon — where the same article lives inside a treasure chest.

Adding a post means adding one file. A new chest appears in the dungeon automatically, because chests are just references to content slugs.

Why bother?

Because a portfolio's job is to be found and remembered. Search engines and screen readers get real HTML. Humans get to walk a little pixel person up to a chest and open it. Everybody wins.

// A chest doesn't own content — it points at it.
{ type: "chest", x: 12, y: 7, contentRef: "article:building-this-site" }

The escape hatch is always on screen. Nobody gets trapped in the dungeon against their will, which is more than most dungeons can say.

← ALL ARTICLES