Jun 18, 2026
Building This Website
How this website is designed with Astro, MDX blog posts, and static deployment on Cloudflare.
Hi everyone!
I just wanted to do a quick kick-off of my new blog by writing a small article about how I designed this website, and why I made some of those choices.
It is not my first blog. I actually had quite a few in the past. My first one was in 2010, with a WordPress instance deployed on a VPS (Virtual Private Server). It was the “go-to” solution at that time. With time, I started noticing a few limitations:
- It was quite complex and expensive for mostly static content
- Most of my visitors were coming from different continents from my server
- It had security concerns and required many maintenance operations
Static site generator
A few years ago, I discovered Hugo, which I instantly liked and started playing with. After a while, although I really liked the concept, I found it quite limited for what I wanted to build. Hugo generates static content, which is great, but it makes some dynamic use cases harder to handle, for example search features, accessing a database, or building a contact form.
Those kinds of frameworks are amazing for building fully static websites, but I wanted something with a bit more flexibility to build a complete website over time.
Astro
I recently discovered Astro. While investigating it, I found some very good ideas in the design of this framework:
- Supporting Static Site Generation (SSG), Server Side Rendering (SSR), and Hybrid Rendering
- By default, with SSG, stripping most JavaScript to deliver lightweight HTML
- Being framework agnostic, so components from React, Vue, or Svelte can be used when needed
Cloudflare
The website is deployed on Cloudflare. One of the main reasons is very pragmatic: static content can be deployed for free, and Cloudflare gives very fast access worldwide. For a personal website, it makes a lot of sense. I do not want to manage servers anymore for this kind of content.
Cloudflare also gives me a good path if I need more dynamic features later. I can keep the website static for now, and add Workers or other services only when there is a real need.
How is this website designed
This website is designed as a small, static personal site. It is built with Astro, and for the moment it is configured for SSG (Static Site Generation). That keeps the output lightweight, fast to load, simple to deploy, secure, and efficient.
I do expect that some additional features may need to be handled on the server side later. This is also why I like Astro: I can start simple, and keep the option to add more advanced behavior when it becomes useful.
Each blog entry is now an MDX file. Each post is a content document with frontmatter for metadata like title, description, publication date, and tags. Adding a new blog entry means adding a new .mdx file. MDX keeps the writing flow close to Markdown while leaving room to add components later when a post needs richer examples.
The architecture is intentionally simple: Astro for the website, MDX for the blog posts, and Cloudflare for deployment. That is enough for now, and I like that. Simple systems are easier to maintain, easier to understand, and easier to evolve.