I've spent over a decade doing something most engineers avoid: taking other people's old code and making it good again. Fifteen-year-old AngularJS apps, tangled subscription chains, "just don't touch that file" components β I've walked into more than one of those and walked out having cut bundle sizes in half and made the whole thing signal-driven.
Somewhere along the way I picked up a second obsession: teaching machines to write better tests than I do. I wired Claude Code into Git hooks so Cypress tests generate themselves on commit. It felt a little like cheating the first time it worked.
- 𧬠I think in terms of before/after β legacy AngularJS β modern signal-based Angular, manual QA β self-writing test suites
- ποΈ I've architected component libraries and Nx monorepos that outlived the teams that built them
- π©Ί Built HIPAA-compliant healthcare software where a bug isn't just annoying, it's a liability
- π°οΈ Currently building a real-time WebSocket engine for live sports broadcasting, just to remember what building from zero feels like
- π§ Genuinely curious person β I'll happily go down a rabbit hole on RxJS operators, PostgreSQL schema design, or why an LLM agent keeps looping
- π¬ Open to full-stack roles, remote-first, where "it's always been done this way" isn't a satisfying answer
Frontend
Backend & Data
Testing & Tooling
AI-Assisted Development
Open to Full Stack Developer roles, remote-first β let's connect! π
