Summary
Selected Builds
- Built an AI mastering system that works as an agent, not a button: it takes actions and carries state across a multi-step run, rendering several masters, running a blind, loudness-matched A/B (ITU-R BS.1770, true-peak controlled), and composing a final master from the strongest takes.
- Built an active-learning model of my own taste, then shelved it: blind A/B results showed it overfitting a biased evaluator, the known reward-model overoptimization failure.
- Moved the work into the judge instead: a blind, loudness-matched harness that gates every change against a baseline of doing nothing. Single-rater so far; a multi-rater blind run is the next gate.
- Designed and shipped end to end, no handoffs: Astro, React, TypeScript, Python, FastAPI.
- Built a searchable catalog of roughly 20,000 audio files, read by sound, fingerprinted, deduplicated, and auto-classified through a Whisper, Claude, and librosa pipeline. Sole engineer across ingestion, classification, and interface.
- Built a playable instrument that runs in a browser tab: Web Audio synthesis, sequencing, and a performance layer, with the sound engine and the interface designed as one system. It lives on my homepage; press power.
Experience
- Designed and prototyped interfaces for enterprise AI and BI products at a Fortune 500 agricultural cooperative, embedded with engineering on consumer agri-tech tools and internal AI tooling.
- Designed a FigJam-based documentation and alignment system adopted as the cross-team default across product, engineering, and business.
- Built and shipped a Python tool that parses the dbt manifest and fans model lineage into Excel, Power BI, and stakeholder briefs in one pass; owned it end to end for business users, engineers, and the AI team.
- Designed the interface, component set, and interaction model for a B2B SaaS AI chat platform, specified so the patterns mapped 1:1 to the React implementation.
- Ran the roadmap for a distributed team shipping prototype releases on a tight cycle.
- Designed the primitives, patterns, and onboarding flows for a bilingual mobile banking V1, shipped on iOS.
- Ran usability testing with 50+ participants; the iterated primary flow cut bounce from 40% to 25%.
- Grew the pre-launch channel from 700 to 2,100 followers on A/B-tested messaging.
Education
Skills
Five steps. The last one usually says no.
- Render 4 to 6 masters, 4.2 on average
- Blind A/B loudness-matched, labels hidden
- Weigh votes become win-rates
- Champion composed from the winning takes
- Add more processing? usually no42 of 78 decided runs kept the original 54%
the harness ledger · snapshot 2026-08-26
The taste model was overfitting my ratings, not improving the audio. I shelved it and built a blind judge.
each round: two takes, unlabeled, matched to the same LUFS, judged on one axis (focal, dynamics, space, raw vs processed). the original is always on the ballot.
| date | axis | matched lufs | winner |
|---|---|---|---|
| 2026-06-10 | focal | -15.66 | render |
| focal | -19.56 | original | |
| dynamics | -21.37 | original | |
| the big bass stabs at the end, 2:30 and following, are tamed a bit in mix 2 and 3 | |||
| space | -21.37 | original | |
| 2026-06-11 | space | -17.13 | original |
| i like mix 2 for the first 35 seconds, but mix 1 wins for the drop, i.e. everything after | |||
| focal | -16.53 | render | |
| space | -16.16 | original | |
| i like 1 and 3 the best until the beat drops at 1:07 - then mix 2 is the best | |||
| focal | -18.92 | original | |
| raw_vs_processed | -15.58 | render | |
| 2026-08-16 | focal | -16.30 | original |
the first nine rounds and the latest. behind them: 229 runs, 939 renders, 4.2 per run (6 at most).
- 58
- blind loudness-matched votes
- 26
- kept the original
- single
- rater
how often the original won
dashed line: 50%
of 78 runs that reached a champion, 42 champions were the original. doing nothing won 54% of decided runs.
single rater so far, 50 rounds across 6 sessions, 2026-06-10 to 2026-08-16. a multi-rater blind run is the next gate. no catch trials yet.
One manifest in, three documents out
sample models; the real one runs on the company manifest
manifest.json jaffle-shop sample parse 6 models · 6 edges · 3 layers
hover a model to trace its lineage
The instrument claim, pressable.
Synthesis, envelope, and filter run right here, in the résumé. The full instrument lives at uxjon.com/#play.