About Me
Hey, I'm Zach. I'm a Staff Platform Engineer at Capsule with an SDET background, building core infrastructure, internal tooling, workflow orchestration, and sustainable test systems that largely maintain themselves. I started in QA at Epic, fell in love with the problem-solving mindset, and taught myself to code—eventually moving from writing test automation to building the platforms that power it.
I'm self-taught, so my education comes from a mix of online courses, books, podcasts, blog posts, Stack Overflow deep-dives, meetups, and lots of small projects. Outside of work, you'll usually find me taking photography or improv classes, cooking something new, or helping run the Chicago Seleniumistas Meetup Group.
Experience
Capsule
2022 - PresentStaff Platform Engineer
- Spearheaded the creation of Capsule's first end-to-end test suite (Python, Pytest, Playwright), serving as a Release Gate for 10+ daily deploys and reducing production incidents by 75%
- Created a widely-adopted scenario testing tool with 1,000+ monthly executions and contributions from across the organization
- Implemented an AI Voice Agent saving Capsule significant costs and increasing accuracy of pharmacy workflows
- Created patterns for Capsule to build Temporal Cloud workflows and migrated the first workflows from an in-house solution, establishing a new standard for asynchronous cross-team collaboration
- Led cross-functional infrastructure initiatives including Spring Boot 3 migration for all Kotlin applications, Django version upgrades, and implementation of Coveralls for company-wide test coverage visibility
- Instituted Capsule's first formal QA process and hired a team of 3 QA engineers
- Developed middleware to spy on messages sent over SNS, SQS, and Kafka for consumer-driven contract testing
ReviewTrackers
2018 - 2021Senior SDET → Lead SDET
- Shaved the end-to-end suite runtime from 30+ mins down to 5 mins in CI and 10 mins in CD
- Cultivated an engineering culture so anyone can contribute to end-to-end tests
- Developed mock servers to test 3rd party api integrations
- Rolled out a custom integration with Report Portal to monitor suite health over time
- Built load testing infrastructure with Locust to proactively address performance bottlenecks
- Managed a team of 3
Jellyvision
2017 - 2018SDET
- Created end-to-end analytics tests with proxying
- Developed new infrastructure to run browser tests in the continuous integration pipelines
- Reduced the runtime of all automated tests by >50% through engineering practices and implicit waits
Robinia Courtyard
2015 - 2016Prep Chef
- Organized the walk-in
- Ground meat, daily
- Cooked all the house stocks
- Prepped ingredients and recipes for a 35+ item menu
- Completed the Intro to Programming and Full Stack Nanodegrees while being a chef
Epic
2013 - 2015Quality Assurance
- Wrote unit tests for core backend APIs and internationalization tools
- Developed one-off testing tools, .e.g., a script to grade internal projects
- Managed the error investigation and disclosure for serious low-level technical issues
Speaking
Appium Conference
2021RabbitMQ Summit
2021Testing United
2020SeleniumConf India
2020Selenium For All - Setting Your Team Up For Success So Anyone Can Understand and Write Tests
This talk was also presented at the Berlin Continuous Testing Meetup
Quest For Quality
2019AgileTestingDays Chicago
2019SeleniumConf India
2018The Ruby Testing Podcast by Jason Swett
2018Stories
At Capsule, I built testing infrastructure so robust that it now runs autonomously. The end-to-end test suite I created 3 years ago still drives itself—serving as a Release Gate for 10+ daily deploys without my active maintenance.
This wasn't accidental. I designed it with sustainability in mind: comprehensive Grafana dashboards for self-service debugging, clear documentation, and patterns that make it easy for anyone to contribute. The result? I was able to transition from actively maintaining tests to strategic platform work, while the infrastructure I built continues to reduce production incidents by 75%.
At ReviewTrackers, I partnered with a DevOps engineer to transform how developers tested their work. We containerized the entire stack, allowing developers to spin up their code changes on-demand in the cloud for immediate validation—no more waiting in queues or stepping on each other's toes.
We built a user-friendly Slackbot to trigger these test environments and continuously added features based on developer feedback. The platform became so popular that it significantly accelerated our SDLC and contributed to the organization's successful acquisition.
This project ignited my passion for creating developer experiences that are not only efficient but also enjoyable.
Throughout my career, I've consistently gone beyond traditional SDET work. When I'm investigating a flaky test and discover the root cause is a bug in the source code (maybe a race condition), I don't just document it—I fix it, add unit tests, and deploy the fix myself, regardless of whether it's frontend or backend.
At ReviewTrackers, this approach led to an unexpected opportunity: while writing end-to-end tests for our search functionality, I found small bugs that exposed architectural flaws. My reward? I was picked to rebuild the entire search system, since I had the most experience with it from writing complex tests against it.
This pattern has continued throughout my career—I'm constantly hopping into new codebases (frontend, backend, infrastructure) to accomplish testing goals, which has made me a versatile engineer who can contribute across the stack.
I believe quality is a team sport, not a solo act. At ReviewTrackers, I championed quality through education and engagement: Security Testing seminars, Chaos Testing workshops, Risk Planning sessions, Root Cause Analysis meetings, and Bug Bashes. These weren't just educational—they were cultural shifts that made quality everyone's responsibility.
At Capsule, I implemented Coveralls across all repos with a learning campaign and sensible override procedures. I created Grafana dashboards that became proof not just for refactoring tests, but for refactoring production code itself—in areas where it was tough to reason about flakiness because the system under test lacked good visibility.
I also instituted Capsule's first formal QA process and hired a team of 3 QA engineers, leading to a 75% reduction in production incidents.
I have a track record of completing the "impossible" projects that others have started and stopped. At Capsule, I led the company-wide upgrade of all Kotlin applications to Spring Boot 3—a project that had stalled multiple times due to its complexity (touching API endpoints, database connections, consumers, producers, everything Spring Boot manages).
Without prior Spring Boot experience, I dove deep into the docs and internals, created extensive testing strategies, and built a version upgrade plan that all teams signed off on. I completed what many thought was impossible.
Similarly, I pioneered Capsule's adoption of Temporal Cloud, creating patterns for building workflows and migrating the first ones from our fragile in-house solution. I've since written a dozen workflows and am now consulted whenever new ones are designed. I've also developed load testing suites (Python/Locust), visual regression testing (JavaScript/Percy), and contract testing middleware for SNS/SQS/Kafka.
I've developed innovative testing patterns that solve systemic problems. My signature approach is "signing" factory-generated test data with metadata—this simple pattern unlocks powerful capabilities: environment-wide cleanup (not per-test), conditional mocking based on signed data, and clear separation between test and production data in lower environments.
I've also built clever async waiting strategies that go beyond simple timeouts: querying databases directly, pinging service health endpoints before tests run (so failures point to the right place immediately), and writing custom testing APIs in the software under test for precise state verification.
For frontend testing, I write cookies to the browser that enable smart mocking—mock the Google Autocomplete API to avoid expending credits while still testing the implementation, or prevent toast messages from timing out (nothing's worse than Selenium trying to find a disappeared toast). I also log in via API and inject tokens into the browser session, eliminating slow frontend form logins while maintaining one manual login test for coverage.
At ReviewTrackers, I implemented randomized test runs to detect unintended cross-pollination between tests. Normally, tests run in 50 parallel processes chunked by runtime for speed. But once daily, they run in random order with a recorded seed to catch hidden dependencies. I also built a custom testing logger that verbosely logs every test action alongside browser actions—making it easy to trace the exact journey a test took and the data it created, so you can log in as the failed test user and reproduce the issue.
Projects

Flake8 Scout Rule
Nov '24- Developed this package that automatically annotates flake8 violations with
# noqa: <errors>inline. - Helps teams introduce stricter linting rules without fixing everything at once.
- Designed for gradual cleanup: touch a file, remove the underlying warnings where it makes sense.
- Use as a Flake8 formatter:
flake8 --format=scout .
Open source
A couple small contributions to projects I use.
- Fixed Codefresh links by using GitHub PR number instead of the internal PR ID.
- Small contributions around configuration / usage questions and documentation.
Archived projects
Older projects that are no longer live.

Flights140
Created Nov '16Website that uses Twitter to find airfare deals and alerts users (via email and/or text)

Shut The Box
Created Nov '16- Website implementation of the British dice rolling game Shut The Box

Obey The Testing Goat
Created Nov '16Went through this amazing book, chapter by chapter
Created a website using TDD with 100% test coverage

Lizard Mgmt Tool
Created Sept '16- Add, edit, and delete lizards and lizard's hobbies
- Accepts login from Google and/or Facebook
- Logs all recent activity on the homepage

Note-Taker
Created April '16- Final project for Udacity's Intro to Programming Nanodegree
- Note-taking app with heirarchy of note types
- Responsive design
Automation Fun
An interactive Easter egg for automation enthusiasts! Run a Selenium, Playwright, Cypress, or Vibium script to unlock a personalized haiku just for you.











