Products

Shipping useful automation with Google Apps Script

A simple Secret Santa tool built with Google Sheets and Apps Script, and a good reminder that fast, useful software does not always need a full product stack.

One of the easiest ways to overbuild is to reach for a full application stack before asking what the job actually needs.

This was a small example of the opposite.

The problem was simple: take a list of participants, randomize the assignments, and optionally email each person their match. That can become a tiny product. It can also just become a script.

Google Apps Script was enough.

Why this mattered to me

The real lesson was not Secret Santa logic. It was product instinct.

For a lightweight workflow that already lives inside Google Sheets, Apps Script gives you:

  • direct access to spreadsheet data
  • scripting with JavaScript
  • the ability to write results back into the sheet
  • basic email automation

That means you can ship utility quickly without introducing unnecessary infrastructure.

The flow

  1. Read the active spreadsheet.
  2. Shuffle the participant list.
  3. Write the results to a new sheet.
  4. Send email notifications if needed.
function readCurrentSheet() {
  const currentActiveSheet = SpreadsheetApp.getActiveSheet();
  return currentActiveSheet.getDataRange().getValues();
}
function shuffle(array) {
  let currentIndex = array.length;

  while (currentIndex !== 0) {
    const randomIndex = Math.floor(Math.random() * currentIndex);
    currentIndex -= 1;
    const temp = array[currentIndex];
    array[currentIndex] = array[randomIndex];
    array[randomIndex] = temp;
  }

  return array;
}

The broader lesson

There is a professional advantage in being able to recognize when a problem deserves:

  • a platform
  • a proper app
  • or just a sharp piece of automation

This kind of work sits in the Products & Ventures bucket for me because it reflects how I think about shipping:

  • solve the actual problem
  • choose the smallest system that works
  • keep the path from idea to usable output short

That instinct matters in bigger product work too.