Primo is an open-source CMS, but can be better thought of as an all-in-one web publishing and development tool. It’s arguably the most approachable way to publish websites and enables anyone, regardless of technical ability, to create and [begin to] develop websites without the obstacles that exist in the modern web development landscape.
The world wide web is the most powerful, accessible, and democratic tool ever created for free communication between anybody in the world, particularly on a mass scale. It’s instantly accessible by anyone, on any device, without gatekeepers, and has been heavily invested in by individuals who believed in its potential to be a liberating and creative tool.
But since its creation, monopolistic forces have risen to centralize the web and its benefits into proprietary platforms that remove the control and access from individuals. The days of personal blogs and normal people writing HTML and CSS to express themselves are all but gone; the web of today is largely generic, ad-ridden, and dominated by a handful of platforms that mean well but have to bend to expectant shareholders and tyrannical governments at the end of the day.
The services that do exist to enable easier access to web publishing do so on a monthly, often prohibitively expensive basis, and keep publishers under the guise of “no-code” which limits them severely in their ability to write custom software and locks them into proprietary platforms.
Holdovers from the free age of the web still exist in the form of open-source publishing tools like WordPress, Drupal, and Joomla, but these are arguably antiquated in their approaches and severely limit accessibility to code, not to mention their security/maintenance issues and steep learning curves.
Finally, there’s the world of modern development. Web frameworks like SvelteKit, NextJS, and Laravel have made great strides to enable more powerful web application development, but were ultimately designed as tools for professional software engineers building complex software. The barriers they present just to get started make them unviable for the large majority of nonprofessionals and prohibitive for people just getting started with web development. But more importantly, they don’t concern themselves with actual content management, but instead rely on headless CMSs (which are primarily suited for enterprise customers), making them only half of the answer to building websites.
Primo puts the power of the web back into the hands of individuals by giving them direct access to publish their own websites, regardless of their technical ability. It enables people to build and edit websites modularly (or “one block at a time”) by combining both the content and code abilities into the same tool. Primo builds on the integrated approach of traditional monolithic CMSs, but goes further by integrating a development environment alongside the content editing environment. With this approach, it enables the accessible content management of traditional CMSs and no-code site builders sans their lack of code access, as well as the power of HTML, CSS, and JavaScript sans the learning curve of the modern development toolkit.
Primo sites can be created and published within minutes from the same server, and avoid the security, maintenance, and scalability issues of monolithic CMSs by deploying as static files. They can be collaborated on with nontechnical users by hiding the options to access code. And developers can access their code right from the CMS with a single click on any given Block, giving them access the full power of the web platform to build everything from forms to e-commerce stores to CRUD applications, with a clear path to growing into something more powerful.
Our vision is that Primo would create a pathway for people around the world, regardless of their technical background, to truly own their online presence and have the ability to directly access the web as a publishing and creative platform - without the middlemen standing in the way.
Using it headless alongside SvelteKit, NextJS, etc.
Design fields to give content editors predefined style options.
Cloud functions for writing backend code from Primo.