WORK · CLIENT BUILDS AND ADL SOFTWARE

Two bands. Client work first.

Below the client work is a catalog of software I build and operate myself. It is here as evidence of capability, not as a product pitch. Nothing on this page carries a revenue claim, because I will not make one I cannot show you.

01 / CLIENT WORK

One client build, shipped.

One entry, labelled honestly. Padding this band with side projects dressed up as engagements would tell you something worse about me than a short list does.

Client website

Combative Alchemy

An Angular site for a combat sports and fitness training company: combat training, general fitness, personal training and group classes, each with its own path into an enquiry. Built to take enquiries rather than as a brochure, so the class programmes and the way into booking are the structure of the page, not an afterthought at the bottom of it.

Deployed on Netlify from a static Angular build.

StatusShipped, in production
StackANGULAR · TAILWIND · NETLIFY
Visit live: Combative Alchemy, opens in a new tab
02 / BUILT AND OPERATED BY ADL

My own software.

These are my own products. Built, shipped, and running in production. They're here because they show what I can build behind your agency.

DisputeMyHOA operations dashboard showing open cases, document status and outreach activity.

DisputeMyHOA

Document AI, automated outreach, internal ops dashboard

A service for homeowners in dispute with their HOA. Violation notices and governing documents come in as PDFs and scans, get read by an extraction pipeline, and come out as structured case data a human can act on.

On top of that sits automated outreach and an internal operations dashboard, built in Angular on serverless functions, that pulls revenue from Stripe, email metrics from Klaviyo, ad performance from Google Ads and funnel data from Supabase into one screen.

This is the same document-intake shape as the pipeline in FIG. 01 on the home page. It is the reference implementation for a Build Sprint.

StatusRunning in production
StackFLASK · SUPABASE · OPENAI/CLAUDE · STRIPE · ANGULAR
Visit live: DisputeMyHOA, opens in a new tab
AxleDash multi-tenant application showing call routing and billing for a dealer account.

AxleDash

Multi-tenant SaaS, telephony, billing

A multi-tenant application where every account’s data is isolated at the database level with Supabase row-level security rather than by filtering in application code. Telephony runs through Twilio, subscriptions and metering through Stripe.

Multi-tenancy, per-tenant billing and phone infrastructure are the three pieces most internal tools eventually need and most teams get wrong the first time. This is where I worked them out.

StatusIn production
StackNEXT.JS · SUPABASE RLS · TWILIO · STRIPE
Visit live: AxleDash, opens in a new tab
api.hydroflow / health
Hydroflow backend API reference showing ingestion and billing reconciliation endpoints.

Hydroflow

Backend API, data ingestion, billing reconciliation

A production HTTP API on Flask 3 and Python 3.12, containerised, deployed to Heroku under gunicorn, talking to Supabase through a service-role client. Bearer token verification, a CORS allowlist, and a pytest suite over the endpoints.

Honest status: this backend is still being built up to parity. The production API currently runs out of the TypeScript routes in the frontend, and those get deleted once the Python side is verified. The README says under construction because it is.

Worth showing anyway. Rewriting a live API in a second language without dropping requests is the kind of migration a lot of internal software eventually needs.

StatusBackend under construction, migrating off the TypeScript routes
StackFLASK 3 · PYTHON 3.12 · DOCKER · PYTEST · HEROKU
MedScouter running in the iOS simulator inside Xcode.

MedScouter

Native mobile

A native iOS application written in Swift, with unit and UI test targets in the Xcode project alongside the app.

It is here for one reason: mobile is on the Custom Build list, and this is the evidence that when I say native iOS I mean Swift in Xcode rather than a web view in a wrapper. The public web presence is findmyprescription.com.

StatusBuilt, not publicly listed
StackSWIFT · XCODE
Visit live: MedScouter, opens in a new tab
Mags home page: a text conversation setting a reminder, with the number to text.

Mags

SMS assistant, scheduled and two-way texting, AI

A text-message assistant that works as external executive function. Reminders, captures, and follow-ups arrive over SMS with nothing to install.

Carrier registration, scheduled sends, and two-way conversation flows: the same texting machinery agencies ask for, running as a subscription product.

StatusRunning in production
StackNEXT.JS · SUPABASE EDGE FUNCTIONS · TWILIO · STRIPE · CLAUDE
Visit live: Mags, opens in a new tab
BlitzSquares home page with the call to create a football squares board.

BlitzSquares

Football squares platform

A platform for running football squares games: boards, entries, and live game state for groups playing along with real games.

A background worker polls live scores, locks boards at kickoff and computes the winners for each period, so nobody has to keep score by hand.

StatusSite live, game backend currently offline. Last updated November 2025.
StackANGULAR · SUPABASE · FLASK · HEROKU
Visit live: BlitzSquares, opens in a new tab

SEND A REQUEST

Want the same engineering behind your agency?

Send one request. You get a written scope with a fixed price, or questions, within two business days.

IN WRITING: chemworeric@astrodigitallabs.com