I build test automation and developer tooling — and I like fixing the tools everyone else relies on. You'll find my merged PRs in Playwright, Selenium, WebdriverIO, Vitest, axe-core and other major testing projects, plus my own packages on npm.
Merged pull requests in some of the biggest testing & tooling projects:
| Package | Downloads | About |
|---|---|---|
| mcp-accessibility-scanner | MCP server for automated accessibility scans with Playwright + axe-core | |
| appium-session-recorder | Interactive Appium session recorder with a modern UI | |
| jm-playwright-args | Pass custom CLI arguments into Playwright config and tests | |
| jm-wdio-failed-rerun-runner | WebdriverIO runner that reruns only the tests that failed in the initial run | |
| jm-wdio-mocha-split-runner | Experimental intra-spec parallel launcher for WebdriverIO | |
| i18n-string-check | Fast CI checker for hardcoded i18n strings (written in Go) | |
| jm-playwright-chrome-ui | Chrome extension UI helpers for Playwright |
- mcp-accessibility-scanner ⭐ — MCP server that lets AI assistants run WCAG accessibility audits on any webpage using Playwright and axe-core. My most popular package on npm.
- appium-session-recorder — Record and replay Appium mobile testing sessions interactively.
- jm-wdio-failed-rerun-runner (npm) — WebdriverIO runner that reruns only the tests that failed in the initial run, instead of re-executing whole spec files.
- i18n-string-check — Go-powered CI tool that catches hardcoded strings in TypeScript/JavaScript codebases.