Open to applied AI and full-stack roles · remote or Salt Lake City hybrid

Applied AI Engineer · Salt Lake City

I ship real software with AI agents on the team.

I spent fourteen years inside American Express payments and financial-crimes compliance, learning where systems break. Now I build them: an iOS app on the App Store, a 100k-line TypeScript platform, and a multi-agent setup that turns a backlog into reviewed pull requests.

See the work Get in touch
1,900+
automated tests across my apps
650+
commits to my multi-agent system
14 yrs
in payments, FX and compliance

AI systems · 2026

A manager model, worker models, and pull requests

A Claude manager reads my backlog, writes a spec for each job, and dispatches it to a GLM worker running headless in its own git worktree and branch. The worker pushes and opens a pull request. The manager reads the diff, runs the tests and leaves one summary that ends in a clear question. I approve from my phone.

  • Ten-plus repos run from one backlog
  • Three daily briefs, posted as GitHub issues
  • Separate lanes for what agents do and what needs a human
dispatch loop
$ dispatch.sh --repo TalariaTreadTracker strava-refresh -f spec.md
→ worktree  ~/.agent-manager/worktrees/strava-refresh
→ worker    glm · headless · branch staff/strava-refresh
✓ tests     231 passed
✓ pushed    pull request opened
manager › read the diff, ran the tests.
           Ready to merge. Yes or no?
Illustration of one job through the loop

AI systems · 2026

Launch Review: does the policy match the code?

Six specialist reviewers read a repo and its live site, then write one plain-English report with fix prompts ready to paste. They all ask the same question: does what you promise users match what your code actually does?

  • Built for people who ship fast with AI and skip the audit
  • First run was on my own App Store app and company site
launch-review6 reviewers
  1. PrivacyPolicy claims vs. data the code collects
  2. App StoreReview guidelines, metadata, required disclosures
  3. SecuritySecrets, auth, exposed endpoints
  4. LegalTerms, licenses, age and consent rules
  5. AccessibilityDynamic Type, labels, contrast
  6. AI / opsModel use, cost, failure handling

iOS · Live on the App Store

Tread Tracker: shoe wear as an honest range

A SwiftUI and HealthKit app that estimates running-shoe wear from eight factors, including terrain, pace, elevation, temperature, rotation and foam aging. It reports wear as a range instead of false precision, and documents its method for users. Version 3 adds Strava sync through a Cloudflare Worker.

  • 231 automated tests
  • Design, code, release and support by me
About the app →
Tread Tracker shoe detail screen showing condition, distance, limit and miles remaining

iOS + macOS · TestFlight beta

Kerykeion: finance that stays on your device

Local-first personal and small-business finance. Bank CSV import, auto-categorization, recurring-bill detection, and transfer matching so money moving between your own accounts isn't counted twice. Separate profiles keep personal and business books apart, and sync is optional, through your own iCloud.

  • 394 automated tests
  • No accounts, no servers
About the app →

Kerykeion Finance

  • CSV import
  • Auto-categories
  • Recurring bills
  • Transfer matching
  • Profiles
  • CloudKit sync

Game · Godot 4 · In development

If You Come for the King: chess as a roguelike

A roguelike chess RPG with no tutorials and no cutscenes: the systems teach the player. Making the rules readable is the whole design problem.

  • 1,300+ automated tests
  • Scripted screenshot pipeline for store assets
♜ ♞ ♟

Web · TypeScript · Open beta

A 100k-line platform at the edge

An independent social-graph analytics platform for creators: it reads an audience, flags bots and spam, and helps schedule posts. TypeScript on Cloudflare Workers with D1, R2, Durable Objects and cron jobs, plus a React and Vite front end. It has paying users.

  • 46 API modules and 69 pages
  • 450+ merged pull requests, Vitest suite
React + Vite 69 pages
Cloudflare Workers 46 API modules
D1 SQLite
R2 backups
Durable Objects scan sessions
Cron · every 15 minutes watches, refresh, housekeeping

Writing

Coming soon

The model is the employee. The doc is the institution.

What a year of shipping real apps with AI agents taught me about writing docs for them: models churn, context files persist, and the most valuable lines record what we tried and abandoned.

About

Self-taught, and trained by production.

I came to software from operations. My fourteen years at American Express covered FX international payments, KYC and sanctions alerts, payment-platform delivery with bank API integrations, and now enterprise money-laundering risk assessments. That's where I learned that the expensive bugs are the ones nobody wrote down.

I taught myself to build, and AI agents made me fast. I care more about keeping them honest: written specs before code, tests as the contract, and docs that let the next person or the next agent pick up the work cold.

Specs before code

Every agent job starts from a written spec with a test plan.

Tests as the contract

Nearly two thousand automated tests across my apps, and none of it ships with failing ones.

Docs as memory

Context files record what we tried and abandoned, so no agent rediscovers a reverted fix.

Contact

Let's talk.

I'm looking for my next role as an applied AI or full-stack engineer, remote or hybrid in Salt Lake City. If you're hiring, or just want to compare notes on building with agents, email is the fastest way to reach me.