Systems Developer

I build solutions that fit the people using them.

Behind-the-scenes systems that keep real organizations running, designed for the staff who use them every day.

See my work Get in touch

Selected Work

Production systems, real organizations, daily use.

Everything here is live, in production, and used every day by real people who aren't software engineers.

🪑
Client Flow · Queue Management

Client Waiting Room System

Before Clients waited with no information. The roaming host managed the queue from a fixed desk with no way to update it on the floor.
After A live wall display updates in real time. The host manages the queue from a tablet anywhere in the room. New staff are up and running in under a minute.

React + Supabase realtime · two interfaces · drag-to-reorder · disconnection detection · used daily.

Launch screen Admin portal Staff tablet Public display
🚀
Staff Tools · Workstation Setup

Intake Desk Launcher

Before Rotating staff worked from a mix of browser tabs and bookmarks. No single place to start, no consistent setup between shifts.
After One tab opens on startup with every tool one click away. "Launch All" opens everything at once. Staff update the tool list themselves — no developer needed.

Single-page app · Chromium extension (Manifest V3) · config-driven · zero training required.

Intake Launcher
⚙️
Automation · Process Elimination

Daily Web Automations

Before Two recurring tasks required manual logins every morning — navigate to the right page, download a PDF, repeat. Time-consuming and easy to miss.
After A headless browser handles both tasks on a schedule. Files are ready before staff arrive — one of them reformatted automatically into a clean picker sheet.

Playwright · systemd timer · automatic failure alerts · consistent deployment pattern across all services.


How I Work

How I approach every build.

These come from years of building software for people who aren't software engineers.

01

Zero-training target

If someone can't pick it up in 30 seconds, I change the software — not the training.

02

Web-first, always

Everything runs in a browser. No installs, no "it works on my machine," no platform limitations.

03

Fail visibly, never silently

Systems detect broken states and say so in plain language. They never appear to work when they aren't.

04

Config belongs in data

Non-developers can update tool lists, settings, and options without touching code.

05

Ship, then improve

Something working in production teaches more than anything built in isolation. I iterate from real use.

06

Build for the user, not the builder

I measure success by whether the person using it needed a manual.

Let's talk about what you're trying to fix.

If your organization has a process that eats time every day, or tools your staff work around instead of with — I'd like to hear about it.