Case Studies / Cuptime Website

Using Google Sheets as a CMS: The Cuptime Approach

How we built a dynamic beverage website using Google Sheets as a lightweight CMS solution, enabling non-technical content management and real-time updates without complex infrastructure.

Project Overview

For many of the websites we build, we often need a lightweight and non-technical way to manage dynamic content like product listings, service details, the about section or blog posts. Instead of setting up a full-fledged CMS or building an admin dashboard from scratch, we've found a surprisingly effective solution — using Google Sheets as a CMS.

It's flexible, free, and easy for non-developers to update. We simply use the spreadsheet as a data source and pull the content into the website dynamically using Next.js. In this case study, we'll take a look at how this approach works, with a real-world example from a beverage brand website called Cuptime.

The Challenge

Common Content Management Challenges:

  • Complex CMS setup requiring technical expertise
  • High costs for premium content management solutions
  • Need for non-technical team members to update content easily
  • Real-time content updates without deployment cycles
  • Managing product catalogs with varying attributes

Our Solution: Google Sheets as CMS

We developed a system that uses Google Sheets as the content management interface, treating spreadsheets as a database that feeds directly into the Next.js website. This approach combines simplicity with powerful functionality.

Sample Data Structure:

nameImage_urlShort_descriptionFull_descriptionmeasurementIs_hotsugarchemicals
Green Teahttps://.../tea.jpgRefreshing hot teaSoothing green tea200mlTRUEWithTRUE
Iced Coffeehttps://.../icedcoffee.jpgChilled and energizingCold brewed coffee300mlFALSEWithoutTRUE

Implementation Methods

To make the website dynamic, we pull the data from Google Sheets in real time and render it in the Next.js frontend. We've used two main methods for this:

Method 1: Using OpenSheet (Preferred)

OpenSheet is a tool that turns a public Google Sheet into a JSON API — which means we can fetch the data directly in the frontend code.

How to Set It Up:

  1. Create your sheet on Google Sheets and input the data.
  2. Set the sheet's sharing permissions to "Anyone with the link can view."
  3. Use this format to access it: https://opensheet.elk.sh/<Spreadsheet-ID>/<Sheet-Name>
  4. Fetch the data in your Next.js project

Benefits:

  • • Quick setup
  • • Clean and easy-to-parse JSON
  • • Built-in caching (helps with performance)
  • • No auth or server required

Method 2: Traditional Google Sheets JSON Feed

You can also use the older method of getting JSON from Google Sheets, though it's less efficient.

How it works:

  1. Share the sheet publicly.
  2. Go to File → Share → Publish to web.
  3. Use the URL: https://spreadsheets.google.com/feeds/list/<sheetid>/od6/public/values?alt=json

Why It's Not Ideal:

  1. Data structure is complex and harder to work with
  2. No caching
  3. A bit outdated and less developer-friendly

Real-World Example: Cuptime Website

For Cuptime, a D2B beverage brand, we implemented this system to manage all the product listings. Here's what happens in the workflow:

01

Content Management

The product list is updated directly in Google Sheets by the team.

02

Data Fetching

The site fetches the live JSON data using OpenSheet.

03

Dynamic Rendering

The frontend renders the image, name, short and full descriptions (with \n converted into line breaks), measurement, and icons based on hot/cold/sugar/chemical-free status.

04

Real-time Updates

Any update to the sheet reflects immediately on the website — no need to deploy again.

Key Benefits

Zero Cost Solution

Free to use Google Sheets with no licensing fees or subscription costs

Non-Technical Friendly

Anyone familiar with spreadsheets can manage content easily

Real-Time Updates

Changes reflect immediately without code deployments

Version Control

Built-in revision history and collaborative editing features

Flexible Structure

Easy to add new columns or modify data structure as needed

Fast Implementation

Quick setup compared to traditional CMS solutions

Results & Impact

The Google Sheets CMS approach for Cuptime has delivered exceptional results, significantly improving content management efficiency and reducing operational overhead.

95%
Reduction in Content Update Time
100%
Cost Savings vs Traditional CMS
0
Minutes Deployment Time
5+
Non-Technical Team Members Trained

Conclusion

The Cuptime project demonstrates that innovative solutions don't always require complex technology. By leveraging Google Sheets as a CMS, we've created a powerful, cost-effective system that empowers non-technical team members to manage dynamic content effortlessly while maintaining the flexibility and performance of a modern Next.js application.

Ready to Implement Your Own Sheet-Based CMS?

Let's discuss how we can help you build efficient, cost-effective content management solutions that scale with your business needs.