← All posts

Rebuilding my site as an interactive resume

engineeringmeta

A resume is a strange artifact. It compresses years of work into bullet points, and the more interesting the work was, the more the compression hurts. So I rebuilt this site around a simple idea: keep the resume format people expect, but make every role a door you can walk through.

Each job on the homepage timeline links to its own page where I can actually tell the story — what the work was, why it was hard, and what I took away from it. And since I wanted a place to write about more than work (fitness, faith, family, whatever I'm figuring out at the moment), the same content pipeline powers this blog.

The stack

Nothing exotic — the whole site is statically generated:

PieceChoice
FrameworkNext.js 16 (App Router)
StylingTailwind CSS v4
ContentMDX files in the repo
HighlightingShiki via rehype-pretty-code
HostingVercel

Publishing a post is just dropping a file into content/blog/. The frontmatter is minimal:

content/blog/hello.mdx
---
title: Hello
date: "2026-08-10"
description: A post.
tags: [engineering]
---

And because posts are MDX compiled at build time, code samples get proper syntax highlighting in both light and dark mode without shipping a highlighter to the browser:

export function formatPeriod(start: string, end?: string): string {
  return `${formatMonth(start)} – ${end ? formatMonth(end) : "Present"}`;
}

What's next

I'll be writing here about what I'm building, what I'm lifting, and what I'm learning. If any of that sounds interesting, check back — or just say hi.