Session

dout.dev - how to build a vanilla CMS

From Markdown to Publishing Platform: Building dout.dev's Custom CMS Without a Framework

dout.dev is a vanilla-first static site with zero runtime dependencies, but the interesting part is not only the frontend. Behind the site there is a small custom CMS that turns Markdown into a complete publishing workflow. Instead of adapting a general-purpose CMS to a narrow editorial process, the project uses a focused pipeline to parse front matter, normalize content, generate archives and taxonomies, render pages through a custom template engine, and run validation before anything is published.

This talk walks through the architecture and the tradeoffs behind that decision. I will show why a custom CMS was a better fit for this project than a larger platform, how the content model stayed intentionally small, and where custom code creates both leverage and maintenance cost. Using dout.dev as a concrete case study, I will explain how performance, accessibility, determinism, and maintainability become CMS concerns, not just frontend concerns, when the publishing pipeline is designed end to end.

Attendees will leave with a practical framework for deciding when a custom CMS is justified, what the minimum viable publishing architecture looks like, and how to keep a small content platform understandable as it grows.


What will the attendees learn from this talk

- How to decide whether a custom CMS is the right choice for a specific editorial workflow
- How to model posts, metadata, tags, archives, and series with a simple Markdown plus front matter pipeline
- How to separate content ingestion, normalization, templating, and output generation in a deterministic build flow
- How to bake accessibility, performance, and validation into the publishing system instead of treating them as frontend afterthoughts
- How to keep a small CMS maintainable with tests, conventions, and CI quality gates

Emiliano Pisu

Senior Design Engineer, Sensei & Co-Host @ DevDojoIT

Rome, Italy

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top