Criando um Backend no Google Sheets utilizando Apps Script
O Apps Script permite a criação de rotas consumíveis que retornam os dados de uma planilha.

Google Sheets é um CMS sim!
CMS é um Sistema para Gestão de Conteúdo, para pessoas não técnicas conseguirem fazer modificações e publicarem novos conteúdos.
Vou mostrar nesse artigo como você pode criar uma Rota API dentro de uma planilha no Google Sheets, e assim, transformá-lo em um CMS.
Dessa forma, você conseguirá consumir em qualquer aplicação os dados salvos em uma planilha.
Criando a planilha
Crie uma planilha normalmente em seu Drive.

Em extensões, selecione Apps Script.

Criando a função
Você verá uma função em branco, pode excluir e criar uma base como essa:
// Pegando a planilha com informações
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Página1")
function doGet(e){
// Pegando parametro da requisição
var action = e.parameter.action;
if(action == 'getInfo'){
return getInformations(e)
}
}
// Função que pega as informações
function getInformations(e){
}Pronto, ou quase pronto.
O que temos que fazer agora, é uma lógica para pegar as informações da planilha e retornar como um json.
Pegando as informações e retornando em JSON
Minha planilha exemplo, está assim:

Para pegar os dados, posso fazer dessa forma:
function getInformations(e){
var data = { 'techs':[] }
var lastRow = sheet.getLastRow()
for(var i = 2; i <= lastRow; i++){
let tech = sheet.getRange(i,1).getValue()
data.techs.push(tech)
}
var result = JSON.stringify(data)
return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON)
}Ativando a API
Na página onde você está, tem um botão "Implantar", selecione-o e depois escolha "Nova Implantação" e dê um nome para a sua aplicação.

Você deve ver uma tela como essa:

Exatamente, essa URL pode ser consumida, só não esquece de adicionar a nossa action no final ?action=getInfo.

Veja você mesmo
Resumo
Vimos que de forma simples conseguimos transformar uma planilha Google Sheets em um CMS.
O exemplo foi bem simples, mas espero que você tenha entendido o quão longe podemos ir.
Tudo se baseia na sua lógica em extrair os dados da função e retorná-los como JSON.
Algoritmo que resolve Cubo Mágico com Javascript - Parte 1
Minha experiência criando uma página com deco.cx
Como criar um Sitemap Dinâmico no Next - Sem Biblioteca