Building with Eleventy: Why It Fits the Indie Web
A look at why Eleventy is my static site generator of choice for building a personal, independent website.
When I started planning this site, I had a few non-negotiable requirements: it had to be fast, it had to give me full control over the output, and it had to work with plain files I could understand and manage without a database.
What Makes Eleventy Different
Most modern web frameworks optimize for applications — complex state management, client-side routing, virtual DOMs. That's great when you're building a web app, but for a personal site? It's overhead that adds complexity without value.
Eleventy takes a different approach. It's a build tool that transforms templates and content into static HTML. No client-side JavaScript required (unless you want it). No opinions about your CSS. No mandatory file structure beyond what makes sense for your project.
The Parts I Like Most
Collections from tags. Add tags: posts to a markdown file's front matter, and it automatically becomes part of collections.posts. No configuration, no routing files, no database queries. Just front matter and templates.
Template flexibility. Eleventy supports Nunjucks, Liquid, JavaScript templates, and plain markdown. You can mix them freely. I use Nunjucks for layouts and markdown for content — each tool where it works best.
Data cascade. Directory data files, front matter, global data — Eleventy merges them sensibly so you can set defaults at any level without repeating yourself.
The Build Pipeline
My setup is minimal:
- Eleventy for HTML generation
- PostCSS for CSS processing (nesting, modern features)
- eleventy-img for responsive image optimization
The whole thing builds in under a second. Deploy is a git push.
Keeping It Simple
The indie web doesn't need complex tooling. It needs tools that get out of the way and let you focus on content. Eleventy does exactly that.

