Shipping static content without extra infrastructure

Apr 09, 2026 Sacha Ichbiah (Founder)

For this site, the requirements are intentionally constrained:

  • one page that lists posts
  • one page per post
  • content stored next to the code

That makes a static, repository-backed blog a better fit than an external content system.

Why this setup

Contentlayer gives us typed content documents at build time. The app router can then render:

  1. a list of links at /blog
  2. the matching post page at /blog/[slug]

That keeps the authoring model obvious and the runtime surface very small.