I build the tools that prove software works before it ships: automated tests, AI helpers, and release checks for web and mobile apps.

verification.log tail -f
  • Playwright
  • TypeScript
  • C# / .NET
  • Python
  • SQL
  • OpenAI APIs
  • Computer Use
  • Model Context Protocol
  • Claude Code
  • Codex
  • CircleCI
  • GitHub Actions
  • Appium
  • Cypress
  • Selenium
  • Next.js
  • React
  • Supabase
  • Cloudflare Workers
  • Vercel

00 By the numbers

Evidence, not adjectives.

Real numbers from my work, rounded.

1M+

Journal lines and 1M+ invoices validated during a large data migration

1,000+

Automated regression tests running in parallel across 100+ machines

4,000+

Jira tickets handled since 2022, including 2,500+ bug reports

25

Teams following the test documentation and QA standards I established

10×

Faster executive reporting after rebuilding how dashboard reports are generated

300

Automated checks per location in a daily data-integrity audit

700+

Product docs kept accurate by an AI agent pipeline I built

5+

Years in QA, leading testing across web and mobile products

01 Founder project

TestPilot. Tests written the way people talk.

Founder & Owner · 2026 - Present

TestPilot is my own testing tool. You write tests in plain English, like "open invoices and approve the newest one," and it runs them in a real browser. AI handles the clicking, but only inside the rules you set.

  • Runs safely. Every step has a time limit, tests only run where you allow them, and every step saves a screenshot.
  • Easy to write. A visual editor for building tests, reusable steps you can share, and a live view of the browser while it runs.
  • Honest results. Tests run side by side and roll up into one report. If any piece goes missing, the run fails instead of quietly passing.
  • Easy to install. One npm command, licensing on Cloudflare, and verified downloads for Mac, Linux, and Windows.
No code
Anyone on the team can write and read tests
CI-ready
Plugs into CircleCI with HTML, JSON & JUnit reports
Any OS
Runs on Mac, Linux, and Windows
testpilot.services C#/.NET · Playwright · Jint · OpenAI Computer Use · Node/npm · Cloudflare Workers/D1/R2 · CircleCI

02 AI systems

AI that has to show its work.

I use AI to speed up testing and everyday engineering work, and I build in checks so a person always confirms the result.

How a broken test fixes itself

When a test breaks, AI figures out why and suggests a fix. A person approves it.

  1. 01FailureA test fails
  2. 02ReproduceRun it again the same way to confirm
  3. 03DiagnoseIs the test broken, the app, or the server?Real app bugs get reported, not hidden
  4. 04RepairAI writes a fix for the test
  5. 05ProveRun it 5 times, no retries allowed
  6. 06ReviewA person checks it before it's merged

✓ One real fix: the affected tests passed 20 out of 20 times, then the full test suites passed with no retries.

Team workflow · Buyers Edge

AI-assisted ticket testing

AI reads a Jira ticket, tests it in the browser, and takes screenshots along the way. Then QA reviews the results and decides what's actually a bug. I set this up, wrote the instructions, and trained the team on it.

  • Jira / JQL
  • Computer use
  • Playwright
  • SQL
  • Human review

Internal tooling

Internal MCP server

I built an internal MCP server that connects our AI tools to company data. Teammates use it so their AI remembers what came up in meetings and knows how the product works.

  • MCP
  • Company data
  • Team-wide use

Knowledge assistant

Product Q&A assistant

Ask a question about the product and get an answer with links to the docs it came from. It double-checks those docs before answering, so answers stay grounded in what's written.

Searches 700 product docs and shows its sources

  • Cloudflare Workers / D1
  • OpenAI
  • React

Agents

Docs that stay up to date

A team of AI agents checks each help article against how the product really works, applies reviewer feedback, publishes the updates, and sends support a summary in Teams.

Keeps 700 docs in sync with the product

  • Confluence API
  • Parallel agents
  • Adaptive Cards

Browser extension

In-app helper

A Chrome extension you can talk to. It sees the page you're on, answers questions, and can click through tasks for you while showing each step.

180+ automated tests, and it recovers cleanly when the page changes

  • Chrome MV3
  • Realtime voice
  • Computer use
  • MCP

Internal app

Plain-English test launcher

Describe a test in plain English and AI turns it into steps you can edit. Save it, run it, watch it live, and get a short summary when it finishes.

  • Next.js
  • OpenAI SDK
  • Supabase
  • CircleCI API

Prototype

Consensus

Asks GPT, Claude, Gemini, and Grok the same question, lets them talk it through, and combines their answers into one, showing which model said what.

  • 4 model providers
  • Next.js
  • Streaming

Reusable tooling

Everyday AI tools

Small tools that turn repetitive work into one command: creating test users, writing test plans in our template, digging through analytics, and researching the web with sources.

  • Python
  • OpenAI · xAI · Jev
  • FullStory · Pendo
  • Codex / Claude Code

03 Quality engineering

Tests that tell the truth.

A passing test should mean the feature actually works. My tests check what really got saved, and they make sure failures can't slip by.

Browser automation

Automated regression tests

I grew our browser test suite to cover accounting, inventory, ordering, invoices, and payments. Each test uses its own user and data, and reloads the page to confirm changes really saved.

1,000+automated tests
100+machines running them in parallel
  • Playwright
  • TypeScript
  • CircleCI
  • Teams reporting

Visual regression

Visual change detection

Screenshots every page and compares it to the last version, pixel by pixel and number by number. It waits for pages to fully load, so a slow server doesn't get flagged as a bug.

75+ pages captured in minutes with zero load errors

  • pixelmatch
  • Supabase Storage
  • Zod

Data validation

Data migration checks

When customer data moved to a new system, I wrote Python and SQL checks comparing the old data to the new: accounting entries, totals, and invoices. Every mismatch lands in a report.

1M+ journal lines · 1M+ invoices

  • Python
  • MySQL
  • JSON / CSV

Pipeline

Daily data audit

Runs every day and checks 300 things per location, from bank accounts to inventory to invoices, then posts the results to a dashboard.

1,000+ results in minutes, with no failed runs

  • Python
  • Supabase
  • React

Performance

Honest speed tests

Our page-speed tests used to count errors and timeouts as passing results. I fixed that, so every number is a real page load.

Every page measured, 1,100+ requests checked

  • Playwright
  • Node.js
  • CircleCI

Test strategy

Payment testing plan

A 200-scenario plan for matching bank transactions to bills, built around the tricky cases: double-clicking submit, losing access halfway through, being off by a cent, and expired sessions.

  • Confluence
  • Jira
  • Black-box E2E

Mobile

iOS & Android automation

Automated tests for a restaurant management mobile app, plus the pipeline I built in 2022 that tests new iOS and Android builds. I also check that the app and the website show the same data.

  • Appium
  • Expo / EAS
  • CircleCI
  • Rainforest

Accounting

Accounting features

Along with my main QA work, I've tested a lot of accounting features: integrations with accounting software, bills, bank reconciliation, and the general ledger. I also set up shared test docs used by 25 teams and turn customer reports into clear bug tickets.

  • Accounting integrations
  • Accounts payable
  • Bank reconciliation
  • General ledger
  • Financial reporting

How I think about quality

  1. i.

    A “saved” message doesn't mean it saved. I reload the page and check.

  2. ii.

    If a test only passes on the third try, something is wrong.

  3. iii.

    If part of a test run goes missing, the whole run counts as failed.

  4. iv.

    Before fixing anything, I figure out if it's the app, the test, or the server.

  5. v.

    AI can do a lot of the testing work, but a person still signs off.

04 Platforms & leadership

Turning evidence into decisions.

Internal apps that show what's shipping, who owns it, and whether it's ready, for everyone from QA to leadership.

Release governance

Release tracker for SOC 2

One place to see everything going into a release, pulled straight from Jira and GitHub. QA signs off on each item, exceptions get logged, and every release is locked after it ships so there's a permanent record. It also drafts release notes and watches for errors after launch.

400+automated tests
<10sto pull in a release from Jira and GitHub
  • Next.js
  • Supabase Auth + RLS
  • Jira & GitHub REST
  • Vercel cron
  • Vitest

Executive reporting

Leadership dashboard

Shows leadership what each team shipped, how releases are trending, and how the support backlog is moving. It refreshes itself every hour.

Loads 10× faster after I rebuilt it

  • Next.js
  • Recharts
  • Jira API

Observability

Post-release error tracker

After each release, it collects the errors people actually ran into and groups them by page, so it's easy to see what broke and for whom.

  • FullStory API
  • Route normalization
AI adoption

Brought AI into our QA work and taught teammates to code, write tests, and track down bugs.

Hiring

Run technical interviews that show how candidates really think about automation and AI.

Standards

Set up shared test docs used by 25 teams, with clear rules for what counts as passed or blocked.

Support → Eng

Work with support to reproduce customer issues and hand engineers bug reports they can act on.

05 After hours

Things I build for fun.

iPhone apps, multiplayer games, and AI experiments I build on my own time.

iOS2025

Nutro

Log meals by typing, snapping a photo, or just talking. AI breaks the meal into foods with nutrition info you can edit.

SwiftUI · AVFoundation · Firebase · OpenAI

iMessage2025

Dicta

An iMessage add-on. Hold to talk, and your words show up as text in the chat.

Swift · Messages framework · Whisper

iOS2025

Slumberly

Give it a few words and a mood, and it writes a bedtime story and reads it out loud.

SwiftUI · OpenAI Responses + TTS

Multiplayer2026

Blot

Moved a set of browser games onto a real multiplayer server and added a new one, Puck, with shared physics and scoring.

TypeScript · Colyseus · Matter.js · 40 realtime tests

Game2026

OBELISK

A puzzle game where you roll a block to the goal. 12 levels, plus endless new ones it makes on its own. Works with touch or keyboard.

React · Vite · TypeScript

Game2026

Onslaught

A tower defense game with endless waves, four kinds of turrets, and upgrades.

HTML · CSS · JavaScript

AI · Web2025

Document chat

Upload your documents and ask questions about them. Answers stream in with links back to the source.

Next.js · Supabase · OpenAI embeddings

Integration2025

QuickBooks importer

Connects to QuickBooks and imports a list of vendors from a spreadsheet, showing which rows worked.

Python · Flask · QBO API

AI · Video2025

Video studio

A simple app for making AI videos: start a job, track it, remix it, and download the result.

Next.js · Sharp · Video API

06 Experience

From hardware benches to AI pipelines.

  1. 2022 - Present

    Buyers Edge Platform

    Lead QA EngineerMar 2026 - Present

    Senior QA EngineerMay 2022 - Mar 2026

    • Lead QA for an all-in-one restaurant management platform covering food costs, inventory, payroll, and accounting.
    • Brought AI into our QA process, coached teammates, and interviewed QA candidates.
    • Built our automated test suite, AI test repair, visual testing, data migration checks, and a SOC 2 release tracker.
  2. 2026 - Present

    TestPilot Founder

    Founder & OwnerIndependent company

    • A testing tool where you write tests in plain English. Runs on Mac, Linux, and Windows.
  3. 2021 - 2022

    3D Systems Corporation

    Software QA EngineerFeb 2022 - Apr 2022

    QA TechnicianAug 2021 - Feb 2022

    • Tested industrial 3D printers, hardware and software, and wrote scripts that faked motor data to test the screens.
  4. 2017 - 2018

    Merlin CSI, LLC

    Software DeveloperJun 2017 - Aug 2018

    • Worked on a sensor-monitoring system, set up its automated browser tests, and built a mobile app.
  5. 2022

    Southern New Hampshire University

    B.S., Computer Science

07 Toolkit

What I reach for.

Quality engineering

  • Playwright
  • Cypress
  • Selenium
  • Appium
  • E2E
  • Visual regression
  • Mobile QA
  • API testing
  • Database validation
  • Risk-based planning
  • Defect triage

AI & development

  • OpenAI APIs
  • Codex
  • Claude Code
  • Cursor
  • Computer use
  • MCP
  • React
  • Next.js
  • Node.js
  • .NET

Languages

  • TypeScript
  • JavaScript
  • Python
  • C#
  • SQL
  • Swift

CI/CD & platforms

  • CircleCI
  • GitHub Actions
  • Git
  • Supabase
  • PostgreSQL
  • MySQL
  • Cloudflare Workers / D1 / R2
  • Vercel

Leadership & delivery

  • QA strategy
  • Technical mentoring
  • Interviewing
  • Release governance
  • Cross-team coordination
  • Jira
  • Confluence

08 Contact

Let's build
something
provably right.

Open to talking about QA leadership, test automation, and AI.