Docs

Decisions and tradeoffs

Why the site favors static generation and file-based content.

Design principles
The project favors clarity and speed over heavy runtime complexity. These decisions keep the site fast, predictable, and easy to extend.
Static first Minimal deps Typed data Cache aware
Rendering Static-first pages

Most routes are pre-rendered to keep TTFB and layout stable.

Content File-based markdown

Keeps content versioned and reviewed alongside code.

Data Structured, typed lists

Projects and tooling stay explicit in data/.

Static-first rendering

  • Most pages are statically generated to keep performance predictable and hosting simple.
  • Server-side rendering is reserved for endpoints that need on-demand data, such as the sitemap.

File-based content

  • Posts and documentation live in the repository to keep content versioned alongside code.
  • Markdown frontmatter provides a low-friction way to add metadata without a CMS.

Minimal content tooling

  • The markdown pipeline stays close to the default unified/remark/rehype stack.
  • Only a small set of plugins are used for syntax highlighting and heading anchors.

Structured data for curated sections

  • Projects, tools, hobbies, and navigation are tracked in data/ to keep them explicit and typed.
  • Principle: speed
    Optimize for fast loads and predictable rendering.
  • Principle: clarity
    Keep content and metadata close to the codebase.
  • Principle: observability
    Expose build and repo signals without extra services.