About
I’m a senior product engineer with 13+ years building complex web products. I work primarily in React and TypeScript, with a focus on frontend architecture, performance, design systems, and difficult product interfaces.
I’ve worked across startups, product companies, and studios including Interledger, CourtDrive, ustwo, and R/GA, from early product builds through large production systems.
Work
-
2025 - Present
Interledger
Senior Full Stack Developer
Replaced Interledger's Drupal site with a React, TypeScript, Astro, and MDX platform. Publishing used to wait on engineers; now the team ships on their own, about 75% faster. I took it from a loose brief through production and set the performance, accessibility, and engineering bar the frontend still uses.
- Astro
- MDX
- React
- TypeScript
-
-
2020 - 2025
CourtDrive
Senior Full Stack Developer
Spent five years building CourtDrive, a complex B2B platform for federal court records. I led the frontend architecture, built the Storybook system the team standardized on (new UI landed about 35% faster), and reworked state and rendering, cutting average load times by about 40%.
- React
- TypeScript
- MobX
- Storybook
- AWS
-
-
2019
Live365
Senior Front End Developer
Built Live365's broadcaster dashboard from zero to launch: station creation, track libraries, broadcasting settings, analytics, and onboarding. I owned the React application and worked directly against the platform APIs to turn an existing broadcasting backend into a usable product.
- React
- Redux
- Python APIs
-
-
2019 - 2020
Sked Social
Senior Front End Developer
Sked Social was a live social publishing product. I moved the core surfaces, including the caption editor, from Angular 1.6 to React while it stayed in production.
- React
- Redux
- Angular
- SCSS
-
-
2012 - 2013
Nike.com Mobile
Open Standards Developer · R/GA
At R/GA I partnered with design and UX on nike.com mobile: navigation, checkout, basket, and product pages, from prototype through production. I ran Charles traces on real devices, cut image weight, and measured perceived load time before we shipped.
beatsbydre.com- HTML
- SCSS
- JavaScript
-