I test software at VML and build websites for artists and small businesses.
For hiring managers
I build and run the Playwright automation that keeps a large brand platform's releases free of regressions, and I've built a test recorder that explains every line it writes.
For clients
Through my LLC, Maroon Raccoon, I design and build fast, accessible sites for people who'd rather be making things.
01The Lab
Open the LabRecord a test. I'll explain every line.
The Lab turns your clicks in a mini version of my art app into the test I'd write, then reviews any locator you swap in: strict-mode violations, DevTools XPath, order-dependent nth() and the rest.
- 01
Locate like a user. Roles and labels before CSS.
- 02
Assert, don't wait. Web-first assertions, no sleeps.
- 03
Verified for real. The exported code runs in Playwright.
Failspage.getByText('Vincent van Gogh')
Strict mode violation: 2 matches. The second is a card hidden behind the stack. getByRole skips it; getByText doesn't.
02At VML
Keeping a large brand platform's releases free of regressions.
- Dozensof releases
- Led regression testing across dozens of releases, with Playwright suites running in GitHub Actions to catch breakages before they shipped.
- 20parallel workers
- Engineered a visual regression suite for the US site that runs 20 Playwright instances in parallel.
- 8×device coverage
- That visual suite multiplied device coverage eightfold, and I've grown the end-to-end suite release over release.
03Case study
Read the case studySwesso: learning art the way we already swipe.

10,000+
artworks swiped
- Brief
- I wanted to understand museums, art, and what my own taste says about me.
- Approach
- Swesso turns museum collections into a swipe deck, the interaction everyone already knows. Every card teaches you about the piece and the artist, and your likes build a picture of your taste.
- Outcome
- Live at swesso.com, where people have swiped through more than 10,000 artworks.
04Client work
Start a projectWebsites for people who'd rather be making things.
“That was really fast, it looks great!”
“This is going to draw so much new business. It's fast and looks awesome!”
05Index
All projectsEverything I've built.
| No. | Project | For | Built with | Link |
|---|---|---|---|---|
| 01 | Tombstone VideoPersonal | Personal | Next.js · TypeScript · Drizzle ORM | Visit Tombstone Video |
| 02 | CartomancerPersonal | Personal | React · TypeScript · Vite | Visit Cartomancer |
| 03 | SwessoPersonal | Personal | JavaScript · React · Spring Boot | Visit Swesso |
| 04 | Jeff Conners ArtClient | Client | Astro · JavaScript · Cloudflare Pages | Visit Jeff Conners Art |
| 05 | Tetrad BuildClient | Client | Next.js · Vercel | — |
| 06 | Maroon RaccoonMy studio | My studio | Next.js · Vercel | Visit Maroon Raccoon |
06About

“Software should carry the intention of the person who made it, not the other way around.”
I build things that reflect what I care about, and the best of them make culture a little easier to learn: Swesso teaches art history one swipe at a time, and the Lab runs on paintings from the Met.
By day I'm a QA automation engineer at VML, building and running the Playwright suites that guard a large brand platform's releases. Through Maroon Raccoon, my LLC, I design and build websites for artists and small businesses. I work mostly in TypeScript, React, Next.js and Node.js.
I got my start with LaunchCode in 2024, where my full-stack capstone became Swesso. I've also spent five years at UDC maintaining a Squarespace site I built from scratch.
Off the clock: playing music, sketching the next project, and training Finn, my corgi.