Building this site

Why a penetration tester's portfolio is laid out like a filesystem, and the handful of decisions behind it.

Date
Reading time
1 min
Tags
metatooling

This is the example post. It’s here so the blog isn’t empty on day one and so you can see the layout. Delete it whenever.

I wanted a portfolio that felt like the tools I actually use, without turning into a gimmick. A terminal emulator in the browser is a gimmick — it looks the part for about four seconds and then gets in the way of reading. A filesystem, though, is just a good way to organise things, which is why we’ve used it for fifty years.

So the site is a home directory. Each section is a folder. The breadcrumb is a path. That’s the whole metaphor, and it stops there — no blinking cursor, no green on black.

The rules I set myself

A few constraints, written down so I’d keep to them:

  • Monospace only where it means something: paths, dates, code, metadata. Prose stays in a serif.
  • One accent colour, used sparingly.
  • No shadow on anything until you hover a card, and then only a faint one.

Writing posts

Posts are Markdown files in src/content/blog/. Adding one is a matter of dropping a file in and filling out the front matter — no database, no admin panel.

cp src/content/blog/building-this-site.md src/content/blog/my-new-post.md
$EDITOR src/content/blog/my-new-post.md

That’s the appeal of the whole stack, really: the content is just files, versioned in git, built to static HTML. It’ll still open in ten years.