Building code is always a big investment of time and effort. When you start a new project, you never know what requirements might come up in the future. That’s precisely why beginner developers often don’t worry about how they start, as long as they can move quickly and build something. But as someone who has been programming for nearly 10 years, I understand how crucial those first few steps are. Making the wrong choices at the start can hurt you when your software develops.
A paragraph for the nerds among us... Have you ever had to refactor a codebase from one JavaScript framework to another? Have you ever had to upgrade from react-router v1 to v2 (which changes almost all implementations), only to go back to v3, which changes it back? Have you switched from BEM CSS styles to styled-components? Major refactors are always terrible, and the “right” choice at the beginning isn’t always known, and sometimes you just have to remove the legacy tool that was still in there. Even though it might hurt... if your choices have ever hurt you, send me a message for a coffee chat so we can cry about it together.
But enough crying about my job, what exactly happened now? Well, I’ve been using some free tier software for a while now called Prismic, initially an appealing CMS that offered a GraphQL API which I thought would integrate nicely. Even while implementing, I encountered some annoying things, like the richtext field components I had to use. But I thought, fine, if this is the price for free software. But last week, I received an email saying I was using too many different languages on my sites. In short, they’re kicking me out of the free tier and into the 100 euro per month tier, sheesh thanks.
Oh, cry me a river. I know, I know, I shouldn’t complain. I was using their software practically for free for years, free CDN, and free GraphQL content APIs, and it all worked relatively well. I actually do like their product, but it’s time to switch. I can’t sell this to a small family business that doesn’t want to pay 100 euros a month in total, let alone just for just tthe CMS. So, we introduce... open source. Logical choice... WordPress, it always amazes me how much WordPress is used. But in 2023, WordPress is just really outdated, WordPress is just a terrible tool that many people have learned, it's just a horrible CMS for users and even worse for developers. I want a beautiful site with composable blocks... WordPress gives you plugins with plugins and security updates breaking dependencies and a slow site. So, we chose to host our content ourselves with Strapi, an open-source software that boasts a healthy community for developers and, last but not least, a fantastic developer experience. GraphQL API, CDN support, and hostable for much less than what Prismic was going to charge.
From now on, open source is mandatory for us. I’m so done with having to refactor an entire codebase to something else. Thank you, Prismic, for showing once more that a free tier sooner or later always disappears, and I, as a developer, vow never to build products with closed-source tooling that can ruin my workweek.