One of the first projects in our newly founded Becomes studio back in 2019. was to create a simple & fun password-strength web application — a playful and catchy UI with many subtle animations.
As users enter their password, the web app would respond with a funny message, something along the lines of: "Meh, everybody can guess that," or "Okay, this is getting serious, "... all based on the client-side password strength calculation. Basically, an array of message [string] + corresponding password strength [number, from 0 to 100] objects. The client wanted an interface where they could add as many messages as needed.
They suggested WordPress 🙈
Of course, this turned into a long discussion about problems with WordPress and how robust and unnecessary it was for such a small and simple project. There's no doubt that WordPress is a powerful tool that has served countless web developers and managers over the years. Decades. Still, we get an anxiety attacks whenever we need to use it.
The following points boiled down to my objections:
Complexity: We find WP overwhelming and challenging to learn. Users, especially new ones, could benefit from a better UX.
Security: We don't want WP, or any WP plugin developer, to track my end users or cause website downtime or bad UX.
Customization: Basically, you can't do anything from scratch without being proficient in PHP. And even then, developers usually install a bunch of plugins and then heavily rely on them and their functionality.
Speed: WordPress + a WP theme + usual plugins weigh a lot, making websites load slow by default. Sure, you can install plugins (more plugins) for caching, but they make websites smaller nor solve issues with websites that change often.
These problems seem pretty fixable, don't they? We were totally ready to use another tool for our client's project. Headless CMS sounded like a way to go.
Choosing a Headless option
It turns out there were some Headless CMS options, but we didn't find any of them compelling. Sanity and Cockpit are the closest to my ideal, but they are a bit too barebones to be useful for our use case.
For example, it's pretty important to us that we don't need to learn some product-specific syntax to be able to create entries, inputs, and groups of inputs. Also, we wanted to be able (out of the box) to upload media files and arrange them into folders. Neither Cockpit nor Sanity provides that answer currently. That seemed like an opportunity to build the tool we wanted. We assumed that others would also be interested in ditching traditional CMSs, learning weird syntaxes, etc., for a better, more intuitive, open-source alternative. And so the BCMS was born.
So what do we have in mind for BCMS?
Out-of-the-box, pre-defined different kinds of inputs. Text, number, rich text, boolean, pre-defined list, tags, colors, pointers, arrays.
Out-of-the-box support for widgets.
Media file manager with (nested) folders support.
Single and multi-entry templates.
Granular and intuitive user permissions.
It should look beautiful and be easy to use.
Never collect or store anything identifiable to an individual. Never sell any data.
Integrations with Nuxt.js, Gatsby.js, Next.js, and other popular static site generators.
Basically, it boils down to the Pareto principle: we believe BCMS can fulfill all needs of 80% of websites, with 20% of the complexity and cruft around traditional and other headless CMS options.
It turned out people liked it — especially our web dev agency clients. So we decided to launch BCMS and let other teams benefit from it. If you’re interested in the BCMS demo, please schedule your personal BCMS tour.