I use AI to take ideas to working, deployed systems and keep them running. I stay close enough to the architecture to debug it, extend it, and keep it running. I design the rails, administer my home infrastructure, and track what my AI tooling costs, per project and per model.
Projects
01 / Trainer SaaS
TrainingFocus
A voice-first platform for personal trainers. Mesocycle programming and a 25-tool AI agent layer.
Program the next training block by voice, or through an AI agent.
A SaaS platform for personal trainers, live and in daily use by a working trainer and his clients. One codebase serves the trainer's workstation, a login-free client portal, and tiered share links with PDF export.
01 / Client analytics A custom metric engine and reusable chart kit.
TrainingFocus / Programming
02 / Mesocycle library Reusable training blocks.
TrainingFocus / Scheduling
03 / Week calendar Client names anonymized.
Video slot · Poster only
A closer look, in motion.
Video to be added in a later chunk
04 / Reserved for a video loop
How it is built
Architecture & guardrails
The agent proposes. The trainer approves.
I build and operate in collaboration with AI. Here, 25 MCP tools let an agent schedule sessions, program training blocks, and log cardio. Every write needs the trainer's confirmation.
01 / Propose
AI agent
25 MCP tools expose the app.
→
02 / Confirm
Trainer approval
Every write is confirm-gated.
→
03 / Write
Two-phase writes
Idempotent. Nothing deletes.
Built for the gym floor
A phone-first PWA. A feature is not done until it works on a real device on the gym floor.
Bounded access
Invite-gated signup with per-IP rate limits. A demo tenant mints on request and destroys itself after two hours.
Selected work · 02 / 06
April HQ
One agent brain. Four surfaces, shared memory.
My personal AI operations platform, live and in daily use. From a Linux mini-PC in my house, April runs my calendar, briefings, nutrition, reading, job search, and the trading approval loop. April HQ is its web dashboard.
Tool definitions across 20 modules
~90
Modules, about 22k lines
72
Services & timers
28
Surfaces, one shared brain
4
How it looks
The working surfaces
April HQ / Hub
01 / Hub The web dashboard, shown in demo mode.
April HQ / Money
02 / Money The money desk, shown in demo mode.
Video slot · Poster only
A closer look, in motion.
Video to be added in a later chunk
03 / Reserved for a video loop
Video slot · Poster only
A closer look, in motion.
Video to be added in a later chunk
04 / Reserved for a video loop
How it is built
Architecture & guardrails
One shared brain. Human approval for trades.
I build and operate in collaboration with AI. April carries out scheduled work and keeps memory across sessions. Pending trading orders wait for my approval or rejection, with one-tap controls in April HQ.
01 / Reach
Four surfaces
Text, car voice, desk voice, and the web dashboard reach the same agent.
→
02 / Remember
Shared memory
A memory bank and playbook persist across sessions.
→
03 / Resume
One agent session
Conversation state resumes a single agent CLI session.
Silence is not success
Every scheduled job stamps a heartbeat. A health-check turns each one green or red. Services survive reboots and fail loudly.
Records that persist
April connects to my Obsidian vault for notes and records. Morning and evening briefings each run as their own scheduled job.
Selected work · 03 / 06
Governor
It proposes. I sign.
A trading meta-agent over three deterministic paper strategies. Each tests one of my market theses in its own account, with its own budget and scoreboard. Governor observes them daily and proposes trades against my real, funded brokerage account, live since July 14, 2026.
Walled-off strategies
3
Drawdown halts & order caps
Hard rails
Every order approval
Signed
Live on a real account
Jul ’26
How it is built
I build and operate in collaboration with AI. Governor only proposes: every order waits until I approve or reject it. Plain code parses approval text, so the AI cannot approve its own trades. Approvals are HMAC-signed, and orders with invalid signatures are quarantined. Even after approval, daily order caps, per-strategy exposure limits, no sub-$1 stocks, and a 25% drawdown-from-peak halt on buying get the last word. The paper strategies are scored against SPY buy-and-hold; Governor grades its past calls weekly and proposes fixes without applying them.
Selected work · 04 / 06
Entangled
A place to be heard. No name, no account.
An anonymous AI confidant, with peer matching between real people as the destination. Free for the people using it today. A mission project, live since July 23, 2026, served from my own hardware behind a Cloudflare tunnel.
I build and operate in collaboration with AI. Entangled puts a three-layer safety wall around the conversation: a regex floor, a classifier, and an escalation that can raise the alert level but cannot lower it. Per-user and per-IP limits, capped session minting, and a daily token-budget kill-switch bound abuse and spend. The AI memory is visible in plain language, and every line can be deleted with a never-re-add instruction. Raw conversation turns are purged after being folded into memory. Safety logs record level and category, never content.
Selected work · 05 / 06
Ledger
The AI can look. It cannot write.
My self-hosted personal finance tracker and Quicken replacement. File imports feed recurring-charge detection, investment tracking, and a net-worth view. All data stays on my own hardware. No screenshots here on purpose: it holds my real finances.
Read-only AI query tools
9
Holds all the data
1 file
Import formats supported
3
Cloud dependencies
0
How it is built
I build and operate in collaboration with AI. Ledger gives the agent nine query tools and zero write tools: the database opens in read-only mode. Everything lives in one SQLite file, with money stored in integer cents. The web app binds to the Tailscale interface, so tailnet membership controls access. Merchant normalization groups recurring charges by cadence; price-creep detection flags charges more than 5% above their trailing median. Internal transfers pair automatically so they do not count as spending.
Selected work · 06 / 06
Jerry
Jerry proposes. Only I submit.
My autonomous job-search agent, named for Jerry Maguire. Every night it hunts, scores roles against verdicts I have given it, and drafts the shortlist I wake up to. Each proposal includes a fit score, an honest read, and qualification flags.
Hunts run while I sleep
Nightly
Reads employers’ own systems
Direct
Automated document pipeline
3 stages
Designed & run end-to-end
1 build
How it looks
Jerry / April HQ
01 / The nightly slate Fictional demo listings awaiting verdicts.
How it is built
I build and operate in collaboration with AI. Jerry can only mark an application Drafted; only my word sets Submitted. A model drafts structured documents, a linter enforces voice rules and anchor floors so invented experience does not get through, and a template renders the final document. It reads employers’ own hiring systems to confirm postings are open at the source. My yes, no, or maybe verdicts and reasons feed the next night’s shortlist.