A fresh start with Astro

About five years ago, I started working on my first blog. Back then, I had no idea static site generators existed, so I was looking for a content management system which allowed me to create blog posts dynamically using predefined sections.

Since I wasn’t happy with the existing solutions, I started coding my own CMS. In the end, I managed to create a functional CMS but published only three articles. Coding the CMS seemed to be more fun than writing blog posts.

Recently I was looking for a place to share projects and tutorials, which is the motivation behind starting this blog. Therefore five years after the original blog, it is time for a fresh start.

Tech stack

While picking a tech stack, I was looking for a suitable static site generator (SSG). SSGs work great for content like blog posts as they generate static HTML pages, which are easy, fast and reliable to host.

Since I wanted to learn Vue.js, I was looking for a generator with support for the framework. After trying out Gridsome and Nuxt 3, which could not convince me, I came across Astro. With support for React, Vue, Sass, Markdown and much more, it seemed to be the perfect fit.

The cherry on top: The island architecture. Thanks to the island architecture, you can decide whether Astro renders a layout component to static HTML or if it should be hydrated once the page is loaded. As a result, an interactive UI component can be embedded easily within an otherwise static site.

The following random number generator is an embedded Vue.js component:

Random Number Generator

Beyond that, Astro is well documented and has an active community with frequent releases. If you are still not convinced of the power of Astro, definitely check out astro.build.

Moving forward

In the future, I hope to publish blog posts on a semi-regular basis about programming as well as filmmaking topics. Strong contenders are microcontroller projects using the ESP32, building mobile apps with Flutter and posts on filmmaking gear.