← Back to work
Case Study 06 · PIN-gated web portal · Google Sheets backend

Retail Accountability Portal — Google Apps Script Web Build

Google Apps Script · GitHub Pages · HTML/CSS/JS

The Problem

A retail chain needed a way to hold individual stores accountable to performance data without emailing spreadsheets or waiting for a district manager to relay the numbers. Store teams had no direct access to their own metrics, and there was no paper trail when conversations happened.

The Build

We built a PIN-gated web portal hosted on GitHub Pages, backed by a Google Apps Script API. Each of 25 stores gets a unique 5-digit PIN stored only in the backend — no credentials in the HTML. When a store logs in, they see their current MTD performance against prior period with conditional messaging: underperforming stores get an accountability form with two required questions, outperforming stores get a congratulations card. Submissions generate a formatted PDF saved to a per-store Drive subfolder and trigger email notifications to multiple recipients simultaneously.

The Outcomes
25 stores onboarded with individual PINs via a single email campaign
Zero HTML edits needed for future reporting periods
PDF accountability submissions automatically organized by store in Drive
Multi-recipient email notifications fire on every submission
Negative and positive performance logic handled entirely in the backend
The Stack
Google Apps Script Google Sheets Google Drive HTML/CSS/JS GitHub Pages
Have a similar problem?
We start every engagement by understanding what's actually broken before we touch a tool.
Tell us about it →