Case study · platform engineering

The platform behind McCluster Corp

2025 to present · designed and operated by Matthew McCluster · public source

Since 2025 Matthew McCluster has designed and operated the platform that runs McCluster Corp: this website, accounts, payments, the music catalogue, first-party analytics, the Equity Uprise and the sites the studio builds for clients. It is a PostgreSQL database on Supabase with row-level security, an API on Cloudflare Workers, Linux services on a dedicated server, Stripe for payments, and a GitHub Actions pipeline that ships each piece, checks that the right version is live, and restores the previous one when a check fails. The source is public at github.com/mcclusterishere/mccluster.

Role
Founder; sets the architecture and operates production
When
2025 to present
Stack
PostgreSQL (Supabase), Deno Edge Functions, Cloudflare Workers and Durable Objects, GitHub Pages, GitHub Actions, Linux (systemd), Stripe
Evidence
Public repository · live health endpoint, which reports the commit it is running

How it is put together

Each layer has one job. As of October 2026.
LayerWhat it doesSource
Public siteStatic HTML, CSS and JavaScript on GitHub Pages at matthew.mccluster.orgdeploy-pages.yml
APIA Cloudflare Worker at api.mccluster.org with Durable Objects and a five-minute cronworkers/mccluster
DatabasePostgreSQL on Supabase: more than 200 SQL migrations and more than 100 row-level security policiessupabase/migrations
Server-side functionsMore than 50 Deno Edge Functions for the jobs that hold a secret: checkout, payouts, the analytics collector, integrationssupabase/functions
Persistent executionA Linux server running the Core job runner, a tool broker and scheduled jobs as systemd services and timerscore
CI/CDMore than twenty GitHub Actions workflows and more than 100 test files.github/workflows

Data and access control

The database is the API for most reads, so the access rules live in the database rather than in application code: row-level security policies decide what each signed-in user, and the anonymous public, can read or write, on every query. Schema changes are numbered SQL migrations, and the money and rate-limit paths have SQL regression tests that CI runs against a throwaway PostgreSQL instance on pull requests (supabase/tests).

Releases that check themselves

The API deploy (deploy-mccluster-worker.yml) runs in stages:

The static site has its own guard: before publishing, the Pages workflow strips internal folders out of the published tree and fails the publish if a supplier's name or a cost figure appears in a public file. A Playwright smoke suite walks the key pages at phone and desktop widths (390 and 1280 pixels) and fails on any page error (scripts/smoke.mjs).

Linux operations

The Core server runs its work as systemd services and timers (core/systemd). Its jobs come from a queue in the database; the runner claims only job types it knows how to execute, heartbeats while working, retries with backoff, and writes results back to the same row. Privilege is split between Unix identities: the service that edits code in disposable working copies holds no production credentials, is limited to loopback networking, and sees the repository read-only, while a separate identity inspects the diff and can only open a draft pull request. Nothing on that path merges or deploys (core/README.md).

Analytics without a third party

The site's analytics are its own: an Edge Function collector that writes to the platform's own table in place of Google Analytics. It honours Global Privacy Control and Do Not Track by dropping anything that could identify the visitor before the row is built, marks crawlers rather than counting them as people, and records nothing at all until a visitor has acknowledged the privacy notice (collect/index.ts).

Payments and client accounts

Payments run through Stripe Checkout and Stripe Connect from server-side functions, so card handling and secret keys never touch the browser. The same platform carries a multi-tenant vehicle-rental operator console for Whip Equipped: operators sign in, add vehicles to their inventory and connect their own Stripe account (workers/mccluster/src/whip).

A deterministic 3D build

The Equity Uprise building model is generated, not hand-drawn: Python build scripts produce the glTF models and a machine-checked report for each level, and the Pages workflow refuses to publish if the verification contract does not pass. The model is schematic and not for construction.

How it is built

Much of the code is written with AI coding agents (Claude, Codex and others) working under rules Matthew wrote for them, in AGENTS.md, and checked by the CI contracts above. He sets the architecture, decides what ships, and runs production. The rules are specific: one canonical API, one database, no second backend in a product repository, named infrastructure only, and continuous integration that never pushes onto an open pull request.

Skills this demonstrates

Role fit

The titles this work is evidence for: Platform and Backend Engineer, Backend Developer, PostgreSQL Developer, REST API Developer, Systems Operations Specialist and Technical Operations Specialist. These are role-fit terms for search and applicant tracking, not job titles he has held. The role and evidence map lists every title with the evidence behind it.

Email about a role → Read the source →

Published October 2, 2026 by Matthew McCluster · IT & engineering · Newsroom
© 2026 Matthew McCluster · McCluster Corp.