Tome
Self-hosted ebook & audiobook platform — Node/Postgres server + Flutter client.
QA engineer by day. Force-multiplier with AI by night. 10+ years shipping. 10 projects in the registry, 4 actively under development, two of them live on the App Store and Google Play.
Each tile is something that runs in production — on a phone, on a server, or on the wall of my house. No demos, no proofs-of-concept.
Self-hosted ebook & audiobook platform — Node/Postgres server + Flutter client.
Gamified scavenger-hunt app shipped to App Store and Play Store — 100+ active users.
Multi-tenant marketing operations platform with AI image gen, CRM, and pipeline.
Open protocol for agent-to-agent communication — "SMTP for AI agents."
Multiplayer word-puzzle game with real-time WebSocket sync.
Biweekly paycheck allocator that respects safety buffers and upcoming bills.
Proxmox cluster + HomeKit/Matter mesh that runs the house and hosts my projects.
The homelab hosts Tome. The AI image pipeline I built for client work informs how Squadron Klaw thinks about agent payloads. The multiplayer puzzle game shares Supabase DNA with the money allocator. Nothing here is a one-off — each project teaches the next one.
tip tap or hover a node to trace its connections.
Ten-plus years in QA — I've founded a QA org from zero and led engineers onshore and offshore, rising from Senior to Lead to Manager. The through-line: when the tooling to test something properly doesn't exist, I build it, often in hardware, then hand the team something that makes everyone ship faster.
2019: a credit-card-swiping robot at 365 — Raspberry Pi, Arduino, 3D-printed parts — that cut manual card-reader regression by ~90%. 2022+: Raspberry Pis simulating BLE device events at Monovo so the full device-to-app flow tests itself. If it can't be tested in software, I build the hardware that can.
Stood up the QA function from nothing across web, mobile, and Bluetooth hardware, hired the team, and set the standards. Then I kept going — rigging Raspberry Pis to simulate BLE device events for true end-to-end coverage, and building the internal platform that became the operational backbone for multiple teams. Support resolution is ~40% faster. Nobody asked me to.
Led a team of QA engineers owning the nanomarket and picomarket self-service kiosks — the Android POS people use to scan and buy snacks. Manual card-reader testing was slow and error-prone, so I engineered a credit-card-swiping robot (Raspberry Pi + Arduino + 3D-printed parts) and wired it into the automation suite, cutting manual regression by ~90%. Years before AI.
see the robot →Automated regression with Selenium and triaged community bug reports straight from GitHub for a fast-moving infrastructure startup — later acquired by VMware. Where I learned to test in the open.
Started in 2012 at CleanTelligent, manually testing tickets and teaching myself to automate. The full history is on the resume.
Everyone has access to the same models. What changes the output is the surrounding system — clear context, opinionated architecture, real infrastructure. That's the differentiator.
Every project has a CLAUDE.md that captures architecture, conventions, and live work-in-progress. Tome's is ~25k lines. I pair with Opus 4.7 to compress days of typing into hours of decisions.
Tome moved from v0.11 to v0.12.3 in a month — small versions, real deploys, real users. My homelab CI/CD agents run on Raspberry Pis I built myself. Most projects deploy on push.
Production for me means a Proxmox cluster in my closet running Tome, Pi build agents, and a Home Assistant bridge. Trusting my own ops more than someone else's marketing copy is the cheat code.
# CLAUDE.md (excerpt) — Tome
## Architecture
- Server: Node + Express + TS, Supabase PG
- Client: Flutter (iOS / Android / web)
- Reader: paginated EPUB, synced progress
## Conventions
- Endpoints return { data, error } — never raw
- Migrations live in /supabase/migrations
- Never trust client-supplied book metadata
## What I'm working on right now
- v0.12.3 — paginated reader, x-device sync
- Up next: audiobook chapter scrubbingI'm most useful when I get to own a problem end-to-end — QA strategy, the platform itself, the operational layer underneath. If that sounds like something your team needs, let's talk.