SDET, React developer, type-safety stickler.
9 years writing code and tests, from hardware to web apps.
I build React apps, testing and CI npm packages, and Python DJ tools.
These days I build with AI agents, reviewing and refining every PR until it's code I understand and would write.
Most of what's here started as something I needed and couldn't find.
React Websites
Β·
π§ͺΒ Testing & CI Tooling Β·
π οΈΒ Other Tools Β·
π§Β DJ / Music Β·
πΒ Hardware
Each runs E2E, accessibility, and Lighthouse tests in CI on every PR.
Β Β
Β
My flagship project: after trying 30+ to-do apps, I built my own. An offline-first, cross-device-synced task manager with advanced ranking, nesting, dependencies, customization, and rules. 580+ PRs, each reviewed and refined.
Β Β
Β
Interactive map of years of my GPS bike ride data.
Β Β
Β
My side hobby. All custom React components, using the SoundCloud API.
Β Β
Β
CMS-driven storefront with custom React components, built for a friend.
Β Β
Β
Run Lighthouse audits with threshold checks, readable recommendations, report output, and a Playwright fixture.
Β Β
Β
GitHub Action for accurate PR diff line counts via cloc, split by source, tests, docs, and config.
Β Β
Β
GitHub Action that polls a URL to detect when a deploy has gone live.
Β Β
Β
Auto-title Vitest and Jest suites from the React component's name.
Β Β
Β
GitHub Action that enforces shared package.json lint rules across repos.
Β Β
Β
Rule-based ordering of nested glob results for test configs.
Β Β
Β
JSX + Tailwind to page-exact PDF, with a live-preview dev server.
Β Β
Β
Crash-resilient, localStorage-backed browser diagnostics logging, with optional React hooks.
Β Β
Β
Generic React hooks and helpers for browser UI behavior.
Β Β
Β
Cloudflare Worker that renders several icons and values as one SVG badge, with advanced formatting and live GitHub counts. It draws the badges on this page.
Β Β
Β
Python tools for reading and modifying Serato DJ's tracks, hot cues, waveforms, metadata, crates, and library database.
Β Β
Β
Fast, deduplicated USB export tool for Serato DJ.
Β Β
Β
Windows automation and database tools for Mixed In Key.
Β Β
Β
Python automation for my 11k+ track DJ library utilizing the Spotify and SoundCloud APIs.
Β Β
Β
Firmware for my LED festival totem, controlled by dials, buttons, and an accelerometer.
|
|
|
| Languages |
|
| Dev Tools |
|
| Libraries |
|
| Skills |
|
|
|
|
| E2E |
|
| Unit |
|
|
|
|
| AI |
|
| CI / CD |
|
|
Project
Mgmt. |
|
|
|
|
| Hardware |
|
When I'm not coding, you'll find me:
π§ DJing π§
π΄ Bike Riding to explore Denver π΄
β·οΈ Hitting the slopes with friends β·οΈ
π¬ Checking out good movies π¬
π΅ Catching live music π΅