The Dan Stack Stack
12 Feb 2026
When I started The Dan Stack, I had a few simple goals for how I wanted to build it;
- It must be easy so I can spend my time writing content instead of maintaining a web application
- It must be cheap because it won't make me any money
- It should let me write content in Markdown
- It should be an excuse to learn something new
With these in mind, I chose Eleventy to build the site and Cloudflare Pages to host it.
Eleventy
I first discovered Eleventy a few years ago when it was mentioned by another developer and I decided to check out the docs and see what I could learn. It stuck in my head since then and it was only a matter of time until the right project came along to give me a reason to use it.
Eleventy describes itself as "a simpler static site generator" and I would mostly agree. It barely needs any config to get started if you want to stick with its defaults for project structure and template languages and there is a good starter project on GitHub if you don't want to start from scratch.
One of my goals was to write in Markdown which is supported out of the box but I ended up using MDX because there was an official guide to set it up and I figured it would be nice to have the option of adding a JSX component here and there if I ever need to.
What I didn't realise was that their docs usually don't give examples for MDX and that filters and shortcodes won't work. Not a big deal since the alternative is to use JavaScript which is what I'm used to from spending most of my time working with React but definitely a gotcha if you didn't want to think about code or do any extra config.
I ended up with two layouts, one base layout that covers the basic HTML structure for the site and one for posts so I don't have to copy and paste the header and date everywhere.
Styling is done with plain CSS which has been an interesting alternative to the SCSS modules that I usually use. I find that it forces me to use more semantic HTML with styles applied directly to the relevant elements rather than putting class names everywhere. Even better, almost everything I use in SCSS is supported in CSS now so I'm not missing out on anything that I'm used to.
I'll probably start adding JSX components for things that I find myself copy and pasting too often but this is only the second post so far and I don't want to overthink anything yet.
Cloudflare
I use AWS almost exclusively in my current role and I am an AWS Certified Solutions Architect Professional so it may come as a surprise that I chose Cloudflare to host The Dan Stack.
In practice, the choice was pretty simple. Cloudfront has request and bandwidth limits and S3 charges for storage and for data transferred to Cloudfront. Cloudflare Pages does not. This means I can host and serve this site on a free plan with no risk of a spike in traffic ever causing an unexpected bill.
Creating a site on Cloudflare Pages was easy, follow the wizard, give access to my GitHub repo, and tell it that I have an Eleventy site so it knows how to build it. All I did after the initial setup was purchase and configure the domain name, add a couple of email routing rules and click a few buttons to add web analytics and apply some recommended security settings.
Results
Now that everything is up and running, I'm pretty happy with how it turned out. It only took a few days to create the site and get it online and if all goes well, the only thing I will ever pay is AUD $12.20 for the domain name.
Eleventy let me do what I wanted to do, didn't make me troubleshoot anything that didn't work or make me workaround anything that it couldn't do. Cloudflare made it easy to do things that should be easy and just works for a simple static site like this. I've also learned more about what CSS can do on its own that I expect will change how I build projects in the future.