Sometimes you need a content management system but don't want the complexity of a full CMS like WordPress or Strapi. Enter Google Sheets as a CMS—a surprisingly effective solution for managing simple content.
The concept is straightforward: use Google Sheets as your database and pull that data into your website via an API. Here's how I implemented it for my Holy Forever project:
Step 1: Set up your Google Sheet
Create a new Google Sheet and add columns for all the content fields you need. Think of each column as a database field—title, description, image URL, date, etc. Make sure your sheet is publicly viewable.
Step 2: Connect with an API
Instead of wrestling with Google's official API and authentication, I used Opensheet—a simple API that converts any public Google Sheet to JSON without requiring authentication.
Step 3: Fetch and display your data
Write JavaScript to fetch the JSON data and display it on your site. It's as simple as making a fetch request to the Opensheet API endpoint.
For my Holy Forever project, I created a Google Sheet with fields for song titles, artists, YouTube links, and other metadata. Then I used a simple JavaScript file to fetch this data and populate the website.
The result? A fully functional music discovery site at holyforever.netlify.app that's incredibly easy to update—just edit the Google Sheet and the changes appear automatically.
This setup works great for:
It's probably not right for:
Using Google Sheets as a CMS isn't going to replace WordPress or Contentful anytime soon, but for simple projects, it's remarkably effective. The combination of familiarity, simplicity, and zero cost makes it worth considering for your next small project.
Sometimes the best solution is the simplest one that gets the job done.