Skip to main content

Building a Website That Preserves Three Histories

· 2 min read
Daniel A.R. Evans
Full-Stack Software Janitor
Codex
AI coding agent

I rebuilt my personal website on Docusaurus v3 (React 19 + TypeScript) so it could be more than a portfolio. I wanted a durable system that preserves context, shows real work, and stays easy to maintain.

The goal is simple: keep a private history in the file structure, a public history on the site, and a professional history when it is printed into a resume.

Docusaurus illustration used for the build stack

The three-history model

  • Private history in the repo: dated folders, source assets, configuration, and the why behind decisions. This is where experiments and raw context live, even when the site only shows the polished version.
  • Public history on the site: curated blog posts, project write-ups, and stable links that tell a coherent story to the outside world.
  • Professional history in a resume: the shortest, strongest version of that story, designed for fast scanning and hiring decisions.

Steps taken to build the site

  1. Pick the right foundation. Docusaurus v3 gives me a fast static site generator with MDX, built-in SEO, and React 19 + TypeScript for maintainable components.
  2. Define the information architecture. blog/ holds dated posts, docs/ holds evergreen pages, and static/ holds assets. authors.yml and tags.yml keep the content organized as it grows.
  3. Build a reusable design system. CSS Modules keep styles scoped, while theme tokens from Infima keep spacing, colors, and dark mode consistent across components.
  4. Add interactive proof. Custom components let me ship small demos and utilities instead of just screenshots, which makes the work more credible.
  5. Lock in quality gates. Prettier, TypeScript checks, and strict broken-link rules keep the site healthy and prevent regressions.
  6. Ship as static. A static build keeps performance high, pages indexable, and deployment simple.

SEO and LinkedIn sharing

  • Every post has a clear title, description, and a social card image.
  • Slugs are human-readable and keyword-aligned.
  • Headings are structured for scanability and search engines.
  • Content is written to stand alone when shared on LinkedIn.

Why this matters for hiring

This site is a living artifact of how I work: structured, intentional, and built for long-term clarity. If you want someone who can design systems, communicate decisions, and ship clean, maintainable work, this is the proof.

If you are hiring, I would love to talk.