Personal Project

francesco.work

Powered by Astro and MDX content

francesco.work NextJS converted to Astro
Client
Personal Project
Url
https://francesco.work
Period

Overview

TL;DR
The current release is built with Astro, MDX content, hosted on Vercel.

Iterate, iterate, iterate

The current release of francesco.work is the third iteration (v3) of the website.

Planning and Design

The UX and Design were made using Figma and Adobe XD, to iterate quickly over few ideas I had in mind.

v1 (2021)

I knew that for the type of content I was going to manage, I needed a static site generator.

For the first iteration of francesco.work I decided to give a try to NextJS, great features and community support.

I quickly realized content was the biggest lift, because I had a lot of projects with text, images, and videos I had to author. This brought me to pick Strapi as headless CMS.

Strapi was storing data in a MongoDB database, to pull this data, I used GraphQL.

The assets were stored on Cloudinary.

v2 (2022)

Due Heroku terminating their free tier, I moved Strapi on Fly.io.

Strapi maintainers showed interests to move out from MongoDB default support, so I decided to migrate the database to PostgreSQL in production, and SQLite in development.

Both frontend & backend applications were hosted for free.

v3 (2024) current release

Overtime maintaining the website with NextJS, Strapi, PostgreSQL, and Cloudinary became a bit of a hassle. I wanted to simplify the stack and the maintenance.

So I realized that going with a more simpler stack would have been a better choice.

The stack choice of the first iteration made sense in relation of the content creation effort, that at the beginning was a bit of a lift, but now that was all in place, and store in a database, was easy to export.

So I decided to convert all the content from PostgreSQL to MDX files, thanks to some quick script I put together in Python.

I was going at first to keep NextJS but the MDX support was not as good as I wanted, so I decided to give a try to Astro.

The current release of francesco.work is a static website built with Astro. The content is managed using MDX files. The website is hosted on Vercel.