Jeremy.

Work

What I led at work and what I build on my own.

Work projects

At BuzzFeed and HuffPost I led QA and delivery, working with product and engineering teams.

AI test agents, from an automation prototype to live agents

My team built three live QA agents on the infrastructure team's shared agent framework: a test case analyzer, a test case creator, and a mobile data lookup that queries BigQuery directly instead of waiting on dashboards. The analyzer reviews existing test repos against best practices, and the creator writes new tests to the same standard.

They followed an automation prototype I designed, where AI drafts mobile tests and QA acts as the risk assessor and approval gate. It included a 13-file agent framework and a Jira epic with eight to nine child stories. It was first written up as a GitHub extension, but we decided to build on the infrastructure team's live agent setup instead, so the prototype never went to production.

Impact
On its first run, the analyzer found security problems in existing tests, including passwords stored in insecure places
Role
Designed the automation prototype; my team built the live agents
Stack
Appium, Java, TestNG, Bitrise, LambdaTest, GitHub Copilot
Status
Three agents built and deployed; the prototype did not ship

Read the case study

One element-ID standard for React Native

Mobile tests break when elements can't be found. I defined one rule for the React Native app: every element gets the accessible flag, a testID, and an accessibility ID. Tests locate elements with Appium's accessibility ID strategy. The same locator then works on iOS and Android.

Role
Defined the standard
Stack
React Native, Appium, Java

Nightly smoke suites and a device benchmark

I changed the team's QA strategy from manual card testing to nightly smoke suites plus AI-generated test creation. I also planned a benchmark pilot to compare simulators and emulators against LambdaTest real devices for the nightly runs.

Role
Strategy and pilot plan
Stack
Appium, TestNG, LambdaTest, Bitrise
Status
Strategy set, benchmark pilot planned

Onboarding for AI testing agents

I wrote the guides engineers use to adopt AI testing agents: a Test Quality Agent that runs in IntelliJ through GitHub Copilot Chat, and a Playwright end-to-end agent for internal web services. I also compared the IntelliJ approach with a Bitrise step for the same job.

Role
Author of the onboarding documentation
Stack
GitHub Copilot, IntelliJ, Playwright

Earlier work at BuzzFeed and HuffPost

Confirm these figures are OK to make public before publishing.

HuffPost app turnaround

The HuffPost app had limited QA coverage, and releases were often rolled back or paused over critical bugs. I built a QA process that combined manual and automated testing, plus a release process with full testing before every app store submission.

Impact
Store rating 2.20 to 3.75 in six months; no rolled-back or paused releases through 2023
Role
Led QA and the release process

A new testing model for the whole tech organization

As the company's needs changed, I designed a different way to test across engineering. I split QA into two teams: a web team for ad revenue and content tools, and a mobile team focused on automation. Product engineers took on their own manual testing, using group testing sessions in place of team demos and the tools QA had used.

The shift was from quality assurance to quality assistance: QA sets up the tools and practices so teams can test well themselves.

Role
Designed the strategy and the team structure

Replacing an outside testing vendor

I reviewed our outside testing contract every year against what it delivered. Usage was low, and what it found was mostly low-priority bugs. I ended the contract.

To replace it, I moved both automated and manual device testing to a new vendor, so one platform covered both at a fraction of the price.

Impact
$134,000 saved with little loss in test coverage
Role
Fully evaluated the options, made the decision, and led the transition

Cutting wasted builds and heading off a vendor price increase

We had a monthly allotment of test builds and runs, and usage kept eating into it. I worked with engineering to trace why, and we found that more builds were being created per test than necessary. That inflated our usage against the budget without testing anything new.

Once the extra builds were removed, we were able to pay for fewer builds each month, and our CI subscription no longer had to grow to cover them.

Impact
Stopped a potential 20% annual subscription increase
Role
Found the cause with engineering; kept the subscription from growing

Vendors, contractors, and budget

Starting in 2018, I chose and negotiated with QA testing vendors, running proofs of concept before committing. Starting in mid-2022, I also handled invoicing and budget forecasts for the company's tech contractors.

That included annual contractor reviews, staffing recommendations, and working with the vendors' finance teams to keep payments on track.

Impact
Managed the budget for up to 35 contractors across several countries
Role
Owned vendor selection, contracts, and contractor budget

Building and leading a distributed QA team

I built the team from the ground up, starting with two contract QA engineers. I led the hiring, working with a recruiting partner and with engineers in New York, Ukraine, and Argentina.

As the apps multiplied, I split the team in two and promoted team leads, which freed me to work on strategy and tooling. I also found team members with coding backgrounds and moved them into automation without letting manual testing coverage slip.

Impact
Grew from 2 to as many as 7 QA engineers across 3 locations; hired 5 QA engineers
Role
Hiring, structure, and day-to-day leadership

Release checklists, test management, and a third-party integration

Early on I replaced spreadsheets with TestRail for test cases and created release checklists with product owners and engineering managers that covered the business-critical checks for every release.

For a third-party integration in a consumer app, I set up structured joint test sessions with the partner's engineers, who had no test plans of their own.

Impact
50+ issues found before a third-party launch; release checklists adopted for every app
Role
Process design and test lead
Stack
TestRail, release checklists

Passion projects

On these I'm the whole team: product, engineering, and QA.

Pack 55 wreath sale app

An ordering and inventory app for a scout pack's wreath fundraiser, including door-to-door sales status. I was the whole team: I decided what it should do, built it with Claude, and tested it, with automatic deploys from GitHub to Vercel.

It keeps inventory accurate so leaders can spot shortages, backfill the best-selling items, and reorder in time, and it records when each sale happens so we can check whether the church tables are staffed well. It's the pack's only fundraiser for the year. The sale starts soon.

Role
The whole team: product, engineering, and QA
Stack
React, JavaScript, Vercel, GitHub

See how a sale flows

Umpire rules study quiz

A practice quiz for high school baseball and softball umpire recertification. I umpired years ago, I'm getting recertified, and I couldn't find a good quiz to study with, so I built one with Claude.

You pick a sport and a length, and each test is a random draw from a larger question bank that favors questions you haven't seen or missed last time. It shows right or wrong immediately and tracks progress by sport, with a review list of misses. Questions live in a Google Sheet, so I can add or fix them without touching code, and the quiz keeps a saved copy so it works offline.

It's for my own study, so it isn't public.

The quiz showing answered questions, with the correct choice highlighted green and a running score.
Instant feedback on each answer (sample questions)
The My progress view, with questions seen, percent right, and a review list for baseball and softball.
Progress by sport, with a review list of misses
Role
The whole team: product, engineering, and QA
Stack
HTML, JavaScript, Google Sheets

Add your other passion projects here: name, what it does, and what it's built with.