Problems I've taken on
Intuit · 2025
Testing a loan application took every engineer 5 to 10 minutes, several times a day.
Built a Chrome extension that fills the whole application automatically.
Result. About 5 seconds per test. Adopted daily by 25 to 30 engineers across the org.
Read the case studyIntuit · 2025
QuickBooks Capital loans only existed inside QuickBooks.
Founding engineer on the embedded lending product that offers them through partners, starting with Amazon. React, TypeScript, Java, AWS, and a lot of cross-team API contracts.
Result. Phase 1 live for about 2,000 users. Phase 2 targets about 8,000 more outside QuickBooks, on the way to a projected 2 million.
Read the case studyfrom 0
2,000
users in phase 1
Intuit · 2025
A brand-new team had no way to know when something broke.
Wrote the team's first alerting setup and incident runbook.
Result. Incidents caught before users noticed them.
Read the case studyLVIS · 2022 to 2024
A 200-component Vue 2 codebase was slowing the whole team down.
Led the migration to Vue 3 and the Composition API. Moved server state to TanStack Query.
Result. Load times down 20 percent. Migration documented for the team.
Read the case studyLVIS · 2022 to 2024
Notifications arrived late, or not at all.
Designed a WebSocket protocol from scratch for real-time alerts.
Result. Near-instant delivery of critical events.
Read the case studyAbout
I'm drawn to problems nobody owns yet. More than once I've been the first engineer on a new thing: a lending product that had to work outside the app it was born in, a migration nobody wanted to start, a notification system that had to be right the first time. I like finding the manual workaround people already use and turning it into something that takes five seconds.
I've spent the last few years on large React and Vue codebases, real-time systems, and the seams between teams and services. Frontend is where I'm strongest, and I care about the whole problem, from the API contract to how the screen feels. On the side I ship my own products: an iOS party game and a build recommendation tool for Deadlock.
Away from the keyboard I'm usually playing soccer, playing games, or reading about the next thing I want to build.
How I work
Start with the workaround
The manual process people already run is the spec. Automate that first.
Measure before and after
If I can't say what changed in a number, I'm not done.
Write the runbook before the incident
New systems get alerts and a page of what to do on day one.
Use AI tools, own the result
Claude Code and Cursor are in my daily loop. The review and the outcome are still mine.
Experience
2025 to now
Intuit · Software Engineer 2
Founding engineer, Embedded Lending. Also the team's Scrum Master.
Case study2022 to 2024
LVIS · Senior Frontend Engineer
Vue 3 migration, real-time notifications, billing automation, 3D EEG visualization.
Case study2021 to 2022
Pulse42 · Full Stack Software Engineer
Reusable React component library, Chart.js and MUI data visualization.
2019 to 2021
San Francisco State University · B.S. Computer Science
GPA 3.7.
On the side
Deadlock Items Build
Build recommendations for Deadlock players, powered by an LLM on AWS. React, TypeScript, Python, Postgres.
Mafioso
An iOS party game on the App Store. Swift, SwiftUI, Firebase.