What’s the best Headless CMS?
Finding a balance between developer and content creator priorities

Introduction
At Knit, we’re often asked by startups to create websites with distinctive UIs, custom data models, and payments processing which allow startup founders (usually non-technical) to generate and edit content on the fly. In some cases, clients have outgrown an existing Wordpress solution. In other cases, the startup is simply looking for a way to create text and media driven pages for their users. Rolling a custom content management system from scratch in an environment saturated with out-of-the box solutions for these types of scenarios is usually overkill.
The headless CMS aims to provide “backend” tools necessary to support these types of sites built with modern frontends like React + NextJS or Vue + NuxtJS. However, it can be difficult to select a headless CMS technology (among more than 20!) that marries the needs of developers with those of content creators.
The Goldilocks problem with Headless CMS

In evaluating headless CMS technologies for our startup partners, we’ve found most include far too many features for the typical use case. While this might seem like an advantage, an overabundance of features in a headless CMS can result in poor or lagging documentation and/or sloppy implementation.
Headless CMSs are often marketed more towards content creators, though it’s usually left to developers to make the decision (or at least outline best options) at the end of the day.
What Content Creators Care (And Don’t Care) About
Startups looking to build a content creation platform typically have few requirements that relate to the majority of headless CMS functionality. Usually they’re focused on a single content model (i.e. a Post) with well defined fields for display on screen. It’s rare for a client to ask “Hey, can I customize this website with many variations of unbounded content?”
Here are some core headless CMS features from a content creator perspective:
- Easy to use editing interface
- Tags and SEO
- Guardrails against publishing potentially malformed content
- Roles (admin, editor)
- CDN (draft and publish)
- Preview interface
- Pricing
What content creators don’t want:
- A fully featured database editor
- Abstract content relations, confusing terminology
- Multiple ways of doing the same task
What Developers Care (And Don’t Care) About
Developer concerns are oriented around productivity. We want modern patterns and tight deployment integrations.
Developers are looking for:
- Clean and clear documentation
- High-quality API (preferably GraphQL) with robust filtering scheme
- Easy (relational) data modeling
- Conditional field logic
- Integration with CI/CD pipeline
- Extendable boilerplate examples
And the features we don’t really care about:
- Opinionated UI helpers
- Support across a vast array of development stacks
- Plugins (we don’t want to be locked into CMS-specific DSLs)
- User over-customization of content, unique slices/template types
What We’ve Tried
With the requirements described above in mind, here are 3 headless CMS solutions we’ve used to build full stack applications so far.

Storyblok
Pros:
- Strong integration with NuxtJS and NextJS
- Preview interface is the best we’ve seen
- Clear draft/publish states
- Customizable field types
Cons:
- Legacy code leads to API inconsistencies (UIDs != IDs)
- REST API means lower data specificity (overfetching)
- Poor documentation
- Price
- Limited support for payments integration
Final Score: 7/10
Prismic
Pros:
- Editing interface is modern and easy to use
- Universal Tags
- Inline content previews
- Responsive in-editor filtering
Cons:
- API uses proprietary Prismic patterns (“inspired by”, but not to spec with GraphQL)
- Slice Machine feature for custom types confusing for developers and content creators
- Confusing publish pipeline
- Poor support for common relational associations (e.g. one-to-many)
Final Score: 6/10
GraphCMS
Pros:
- Amazing GraphQL API
- GraphQL sandbox
- Editing interface is modern and easy to use (similar to Prismic)
- Data modeling is fast and intuitive, with incredible support for associations
- Universal Tags
Cons:
- Limited preview functionality
- Only supports GraphQL, could be a challenge for existing frontend systems
Final Score: 9/10
Other Options
Alternative headless CMSs we’ve looked at:
- Contentful is the industry leader, but pricy and feature-heavy
- Sanity.io is focused on the developer experience, but has a lot of new development paradigms not expressed in other headless CMSs
- Netlify CMS hails from a company we love, but their headless CMS is a bit barebones
- Strapi is something we would have considered, but GraphCMS was more attractive with its clear commitment to GraphQL
Final Thoughts
GraphCMS is the best headless CMS we’ve used so far. It’s not perfect, but seems to be focused on the right set of concerns to address both content creator and developer needs.
In the future, we’ll continue to evaluate the available options out there for what might suit each client’s unique needs.