Why to consider Cosmic as your next CMS

Community Articles
Community Articles Why to consider Cosmic as your next CMS

First, a little backstory

When I began planning a new project for my portfolio slash blog website I knew I had several requirements. Some of which were server side rendering, ES6/ES7 transpilation, and a quick and non-complicated minifying process for builds. But lastly there is also a need for a Content Management System (CMS) and I was tired of everyone suggesting WordPress.. So I went on a hunt to find my new favorite CMS. And the one requirement I had was for it to be code agnostic, meaning if I ever migrate my site to a different technology or codebase I won't need to move all my content yet again.

What is Cosmic?

Cosmic seemed to check all the boxes for me such as being code agnostic, while being cost friendly. You essentially pay for "buckets" which could be compared to a single database. Afterwards you create object types within those buckets which can be compared to tables in a database. Your created object types then define the schema for all the objects inside, whether you need a Post object, Comment, User, whatever you can come up with!

You design the schema of metadata they will hold and their relationship to other object types. This appealed to me very much and they have an awesome NodeJS API package which fit very nicely with my NuxtJS project.

The Cosmic Interface

One of the features that really makes Cosmic shine is their user interface to modify your content, objects, and object types. When building your object metadata schema you can do so within the interface very easily. However if you'd prefer, you can also do everything with the API instead. Below is a screenshot of a developer feature for adding metafields to an object type.

The interface is non-developer friendly for content creators or editors. You can add multiple users to access your bucket and they have some great user role permission settings.

  • Admin
  • Developer
  • Editor
  • Contributor

These are very useful if you need to add additional developers, or simply someone that shouldn't see the developer features and only allowed to edit or create content. You basically get full access control over what's inside your bucket.

However, if your user does have access to the developer features they get to see a really cool toggle to switch between the different views for developer or editor.

Connecting your app to your data

Cosmic makes accessing your data very simple which is a huge plus for me as it cuts down on development time and allows for more flexibility with how you integrate your data.

You have the option to make applications with dynamic routing which could build a webpage based on a "pages" object type, and different paths for a "posts" object type. You really have a lot of freedom to create whatever you can imagine. When you have a dynamic application, adding new content or modifying existing content becomes a breeze for both content creators and developers. Which is a common challenge in today's typical environment.

Javascript API Example 

Here is a sample snippet for fetching a list of objects of a certain object type within your bucket.

const Cosmic = require('cosmicjs')
const api = Cosmic()
// Specify your bucket
const bucket = api.bucket({
  slug: 'your-unique-bucket-id',

// Specify an Object Type
const data = (await bucket.getObjects({
  type: 'groomsmen',
  limit: 3

You can see more examples in the Cosmic Documentation.

Ok, Here is the Developer Stand Point

No software is perfect, I know. So what are the negatives to using something like Cosmic? What are the technical details surrounding Cosmic?

Well there is something called vendor lock-in which makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs. While this is a factor it's minuscule compared to vendor lock-in with Microsoft's Azure, or Google cloud services (for example, because cosmic is much more than just a CMS).

I like the freedom cosmic gives you. You can pick and choose what services you want cosmic to provide you, since they do much more than allow you to just manage and store content. They can host and deploy your app, enhance your application with extensions, and host cloud functions, such as AWS Lambda which is currently in beta.

Why consider migrating your CMS?

If you value any of the advantages I've mentioned above I encourage you to create a free trial with cosmicJS and perhaps test out a proof of concept. From experience it's hard to find another CMS that compares with Cosmic for all that they provide. It's really a well-rounded service that has proven to work well with many technology stacks as being code-agnostic is very important for a content system in my opinion. So far I've been really enjoying using Cosmic in my projects, and I've said goodbye to WordPress a long time ago.


We welcome suggestions and submissions for new open-source projects. If you'd like to contribute and join our Community, or have any comments or questions about building apps with Cosmic, reach out to us on Twitter and join the conversation on Slack.

You may also like

Our digital world is being built on top of API services. And Webhooks are the operators that enable these API services to communicate with each other.
Blazing fast Blog application using Blazor and Cosmic
Hi, In this tutorial, we are going to create an application that filters twitter tweets by selecting a specific location on the map. We are going to use React and Cosmic. We will be using Cosmic npm package for saving and sorting the most popular searches in our application. Let's get started.
Cosmic Extensions make it possible to extend the functionality of Cosmic for both the developer and editor. A recent example built by the Cosmic Community is the Google Analytics Extension, which allows team members to easily see analytics insights directly in their Cosmic Bucket.
For simple shopping websites, going with full-fledged solutions like Shopify or Woocommerce can be a total overkill. In this tutorial, we're going to build an e-commerce website using Nuxt and Cosmic.
See how easy it is to create a browser based video game when using Cosmic to manage all of your data.

Get Started with Cosmic

Build personal projects for free. Add your team at unbeatable prices.
Start Building Talk to Sales