Courtroom to Code
Ex-litigator turned full-stack engineer building resilient, user-centered systems with courtroom-level precision.

Recovering attorney building human-centric software.
I swapped contracts for commits, but the attention to detail remains. From building open-source NLP frameworks to contributing to Mozilla Firefox, I approach software with the same rigor, just with fewer objections.
With a background in law and business, I bring analytical precision and composure to building clean, efficient, and scalable systems. I focus on solving complex problems with clarity, empathy, and intent.
Most recently, I co-created Nimbus, an open-source framework that streamlines NLP model deployment from hours to minutes.
People often ask, "Why the switch from law to software?" The truth is, I've always been drawn to structured problem-solving. Engineering just lets me build solutions instead of arguing about them.
Ex-litigator turned full-stack engineer building resilient, user-centered systems with courtroom-level precision.
Co-created Nimbus, the open-source framework that cuts NLP deployment from hours to minutes.
PocketWOD — an adaptive, AI-driven workout generator that personalizes training prescriptions.
CrossFit sessions, long runs with Ruby, and watch tinkering keep me grounded (and curious).
A selection of technical projects showcasing system design, open-source contributions, and full-stack development.
Podcast transcript analysis
Full-stack Retrieval-Augmented Generation application for querying and analyzing podcast transcripts using natural language processing.

Contributor
Contributing to the WebExtensions API implementation in a large, mature codebase, delivering security patches, developer tooling improvements, and API enhancements that impact millions of users.
Implemented the requestUpdateCheck WebExtension API method, enabling extensions to trigger immediate update checks. This allows developers to deliver critical security patches significantly faster than the default 24-hour browser cycle.
Developed safeguards to prevent keyboard shortcut conflicts between extensions and the browser. Enhanced executeScript error messaging to provide actionable debugging information for developers.
Refined internal test infrastructure and API documentation. Resolved ambiguities in asynchronous handling and corrected legacy references to improve maintainability for the broader contributor community.

Developer tool for debugging and testing webhook implementations, providing real-time inspection and analysis capabilities.
Download my resume to see the full timeline of my experience, education, and technical skills.
Download Resume