I've worked every layer of the stack.
I started on rooftops aiming satellite dishes. Today I build multi-tenant platforms at Altrue — from the Terraform underneath to the React people click — and publish open-source tools for the XRP Ledger on the side. Everything in between, I've done for a living.
Seven layers. One career.
Most engineers learn the stack from the top down. I climbed it from the bottom up — coax and copper, then the last mile, then machines, people, products and platforms. It's why I debug like a field tech and design like someone who's had to support what ships.
- L07AI · 2026 —
The model proposes. The clinician authorizes.
Altrue · Amazon BedrockAI-assisted clinical documentation and analytics on a Bedrock gateway — retrieval, streaming workspaces, synthetic data for UAT. Before that: preparing and validating training data for LLM fine-tuning in Python.
- L06Platform · 2026 —
A database per tenant, so one fix never leaks.
Full-Stack Engineer, AltrueClinical workflows clinics run on — registry, scheduling, SOAP charting, billing, LiveKit telehealth — over tenant-scoped MongoDB, claim-feed ETL, and AWS infrastructure I write as code.
- L05Product · 2023 — 2026
Features, shipped, reviewed, deployed.
Web Developer, Tech Joy Software · RemoteClient web apps in React, Next.js, TypeScript and Tailwind — plus the Docker, Traefik and GitHub Actions plumbing that got them to production. Led code reviews; mentored juniors. (First paid web work: WordPress sites at WebInvent, 2018.)
- L04Teaching · 2019 — 2021
If you can't explain hooks to a career-changer, you don't know hooks.
React / JavaScript Instructor, Nucamp · DetroitTaught adult learners React, Redux, Node, REST and JWT auth. One-on-one code reviews, debugging sessions, and a lot of capstone projects pushed over the finish line.
- L03IT operations · 2021 — 2023
Whole fleets of devices. Zero patience for downtime.
Regional Technology Coordinator, Distinctive Schools · DetroitKept MacBooks, iPads and Chromebooks running across multiple charter campuses. Wrote the policies, built the ticketing workflow, wired Google Workspace and Jamf into scripts, and audited for the failures that kept coming back.
- L02Logistics · 2011 — 2018
Routing packets, the analog way.
Rural Letter Carrier, USPSSeven years owning a rural route end-to-end. Every day a delivery deadline, every stop a lesson in ordering, batching and not losing anything — good training for queues and pipelines.
- L01Physical · 2003 — 2011
Where the signal actually starts.
Cable & Satellite Technician · Self-employedRan my own install-and-repair business for cable, satellite and internet. Scheduling, billing, customer education — and the instinct, still useful daily, to check the cable first.
Big systems, held to evidence.
UltraVisit is a multi-tenant platform — EMR, scheduling, billing and video visits — used by clinics, local governments and employers. I ship across it end-to-end, and wrote the domain specification that describes how it actually behaves.
One database per customer.
Tenant and org-node scope ride on every record. Access control fails closed.
The model proposes; the clinician decides.
Bedrock-backed documentation and analytics, never signing anything on a human's behalf.
Every rule, file and line.
The domain spec cites the code that enforces each claim — no folklore, no guessing.
Open source, versioned and shipped.
Libraries I maintain on my own time — mostly for the XRP Ledger, plus developer tools I wanted and couldn't find.
Functional transaction factories for the XRP Ledger: frozen-shape builders, each verified against xrpl.js, the xrpl.org docs and the XLS specs.
npm i xrpjsonXRPL · 2026A standalone, zero-dependency transaction builder for the XRP Ledger.
npm i xrpltXRPL · 2026Local semantic search for any codebase — MCP server, HTTP API and file watcher, on Ollama embeddings and Milvus.
npm i codebase-semantic-searchAI tooling · 2026Declare react-router-dom routes and nav links as attributes on the components themselves.
npm i react-page-routesReact · 2023A typed array of every Google OAuth scope, so your editor autosuggests them.
npm i google-auth-scopesTypeScript · 2023Schema to screen, and the server under both.
01Front end
React, Next.js App Router, TypeScript, Tailwind, Radix UI, Redux
02Back end
Node.js, Express, REST, GraphQL, Strapi, OAuth2, JWT, RBAC
03Data
MongoDB (multi-tenant), PostgreSQL, MySQL, Prisma, ETL & reconciliation
04Infrastructure
Terraform, AWS CDK, Docker & Swarm, Traefik, Nginx, Cloudflare, GitHub Actions
05Testing & workflow
Playwright end-to-end, Git, GitHub, JIRA, Confluence, Scrum
06AI
Amazon Bedrock, retrieval & streaming gateways, fine-tuning data prep, Python
Things I build because I want to.
Works in progress, mostly about keeping things on your own hardware: speech that never leaves your Mac, and signing keys that never touch the internet.
Highlight to speech
A macOS menu-bar app: select text in any app, press ⌘⇧Space, and a floating player reads it aloud sentence by sentence. The first sentence starts in about a second and a half, using a speech model running on the Mac itself.
Phonon reader
A local reader for long text, up to a whole book, read a section at a time. Its text cleaner skips URLs and code instead of reading them out: on one test document it cut the audio from 41 seconds to 15.
Offline XRPL signer
A signing library for keys kept on an air-gapped device, with an online client doing everything else. The first spike signs inside QuickJS and produces a signature byte-identical to xrpl.js.
Got a hard system to build or untangle?
Send a note and it lands in my inbox. I read everything and reply from my own address — usually within a couple of days.