Exploring Open Source Content Management
Over the last few years I have created a host of small websites that need intuitive content authoring at a low cost. Contentful has been my go to solution, however it always bugged me that I am tying these websites to a paid service. This led me to think about the interoperability of applications and hosting and to investigate open source content management.
The first thing I found is that Contentful and GraphCMS are quite similar and seem to serve as the standard that an open source headless CMS can be compared to. Both of these are paid services with a rich and intuitive authoring interface, powerful APIs, and come fully featured. You can do complex, relational content modeling along with responsive asset management and fully featured rich text editing.
When looking for a similar solution on the open source side, the first options that was suggested to me was Wordpress and Ghost. Both of these CMS options are great for what they are made to do, but they were not designed for complex, relational content modeling.
I then explored SimplaJS and NetlifyCMS. The interesting thing about these options is that they are serverless. This simplifies infrastructure, since no database or independent hosting solution is required, at the cost of scalability. All of your content, including images, are stored in your code repository, and your content API essentially turns into requesting static files. This is perfect for small scale needs, but has definitive limits on content size. Also, there's no fully featured content API, just requests to static files.
The next stops on the journey include Laravel, Hasura, and KeystoneJS. While I really like Strapi and am considering contributing to the project in order to help with the rich text editor, I want to continue my exploration and see what other options exist.