Back to all posts

Google Drive as a Content Management System

The Gist

Okay, yeah, I hear you, but there are dumber ideas.

Google Drive is great. It’s the first tool we reach for. It’s easy to spin up a spreadsheet or a Google Doc of your thoughts, ideas, aspirations, frustrations, manifestos, whatever.

Lots of MVPs are just collections of Google Drive assets; it's a fast, easy way to validate your ideas. This was true for my previous job, CovidActNow.org, which started as an SEIR model in a Google Sheet and some explainer Docs. Levels.fyi used a Google Sheet backend to scale up to over a million users. Even in non-early stage scenarios, news companies use spreadsheets as a way to power widgets, maps, and charts.

Okay, so why would you use this?

Familiarity

Google Drive is familiar to your content people. You don’t need to spend time training them how to interact with a new CMS.

Moving Fast

Your developers don’t have to worry about any backend infrastructure. No need to deal with authentication, database migrations, upgrades etc. Google Drive becomes your backend so they can spend time on your frontend.

How does it work?

Creating a Post or API

Basically, you paste a Google Sheet or Google Doc URL into your dashboard, and we return an API URL that exposes that content.

All your Posts and APIs are manageable through your dashboard, and you can create organizations to share posts among your team.

Sheet APIs

Your Google Sheet content is returned as a JSON response, and updates automatically every set interval (you customize this yourself!)

Document Posts

Your Google Doc content is returned as markdown and only updates when you manually republish the post.

Integrating with your frontend

Using your content API URLS, you can wire this data up to your frontend.

Your JSON Google Sheet APIs can be used to populate charts, maps, widgets from any framework that allows axios/fetch requests.

Your CMS posts can be integrated with any frontend system that supports Markdown rendering. For Next.js this can be done easily using MDX. (I’ll probably make a guide on this at some point.)

Not for everyone

If you’re a bank re-architecting your payment services, please don’t use this.

If you’re a large news organization who needs rich customization and organization, please don’t.

There are other limitations, too. As a headless CMS, developers are needed to wire up new pages into the frontend. Size restrictions of Google Sheets might limit you if you have a lot of data.

But if you’re trying to build something fast and just keep moving, this might work great.

Or maybe not.

FWIW, this blog is using Jedwal (here’s the Google Doc as proof!), so maybe give us a shot?