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

Applied AI Engineer · Salt Lake City

I build software with AI agents on the team.

I've spent fourteen years at American Express, in payments, FX and financial-crimes compliance. On my own time I build software: an iOS app on the App Store, a 100k-line TypeScript platform with paying users, and a setup where AI agents turn my backlog into pull requests that I review.

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

AI agents that turn my backlog into 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
dispatch loop
$ dispatch.sh --repo tread-tracker 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 and write one plain-English report, with fix prompts ready to paste. Each one checks whether the promises made to users match what the code does.

  • For solo developers who ship apps with AI
  • I ran it first on Tread Tracker and its web pages
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: how worn are your shoes?

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

  • 231 automated tests
  • One-person project, from design to App Store support
Tread Tracker shoe detail screen showing condition, distance, limit and miles remaining

iOS + macOS · TestFlight beta

Kerykeion: finance that stays on your device

Personal and small-business finance that keeps your data on your device. It imports bank CSV files, categorizes transactions, finds recurring bills, and matches transfers so money moved between your own accounts isn't counted twice. Separate profiles keep personal and business books apart. Sync is optional and goes through your own iCloud.

  • 394 automated tests
  • No account to create and no server of mine

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 or cutscenes, so the game has to teach its rules through play.

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

Web · TypeScript · Open beta

A 100k-line platform on Cloudflare's edge

An independent analytics platform for creators. It reads an audience, flags bots and spam, and helps schedule posts. It runs as TypeScript on Cloudflare Workers with D1, R2, Durable Objects and cron jobs, with a React and Vite front end, and 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.

About

Self-taught, from a payments background.

I came to software from operations. At American Express I've worked in FX international payments, KYC and sanctions alerts, and payment-platform delivery with bank API integrations. Today I run enterprise money-laundering risk assessments.

I taught myself to code, and I now build most things with AI agents. These are the habits I rely on to keep that work correct.

Specs before code

Every agent job starts from a written spec.

Automated tests

Nearly two thousand automated tests run across my apps.

Written decisions

Context files record what we tried and dropped, so a new agent doesn't bring back a fix we reverted.

Consulting

Available for short projects.

I take on a few fixed-scope projects at a time. Each one is work I already do for my own apps.

Agent-ready repos

I set up your codebase so a solo founder or small team can build with coding agents: context files, written specs, test gates and a pull-request review loop. Available as a one-week audit or a full setup.

Pre-launch review

Before you ship an app built with AI, I check that its privacy policy, App Store answers and security match what the code does. You get fix prompts to paste into your own agent. This is a technical review, not legal advice.

Prototype builds

I take an idea to a working iOS app or a web app on Cloudflare, built with agents and covered by automated tests.

Contact

Let's talk.

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