CarGurus · Principal Software Engineer
Production ML at CarGurus
Problem: Machine learning at CarGurus was the exclusive domain of the data science team, and nobody knew whether backend engineering teams were capable of ML work at all.
Decision: I trained up through formal ML coursework, then led the first non-data-science engineering team at CarGurus to ship a production ML application with a full MLOps pipeline, folding traditional backend practices into ML work to raise quality, cut cost, and speed up both development and the model itself.
Outcome: The application was highlighted to investors during an earnings call, and the ML training I ran for other backend teams made ML delivery a repeatable path rather than a one-team exception.
First Republic Bank · Senior Software Engineer
Delivery platform at First Republic
Problem: First Republic knew it was not a tech shop and carried real software engineering pain: deployments took days, sometimes more than a week. The bank acqui-hired a startup CTO to overhaul its engineering practice.
Decision: Working under that CTO, I built and presented the CI/CD platform the bank adopted, giving engineering teams a solid foundation to build on. Then I ran training programs on how to build effectively on that foundation: eliminating maintenance burden, freeing capacity, and producing higher-quality products.
Outcome: Company-wide deployments moved from days to minutes on a CI/CD system utilized by hundreds of engineers, and my training audience grew organically through word of mouth to 50+ of the bank's VPs, directors, architects, and team leads.
Cimpress / Vistaprint · Lead Software Engineer
Commerce-platform rebuild at Cimpress
Problem: I noticed that growth was unsustainable: tax-lookup effort multiplied with each acquisition, straining servers and personnel across multiple teams to their limits and heading toward a failure state that would have cost an estimated $15 million a week in revenue had it not been caught and addressed early.
Decision: I brought the issue to light, interviewed team leads about how and why the existing process worked, and won buy-in through one-on-ones with stakeholders and leads. Then I automated the human-heavy steps, turning effort that grew exponentially into effort that grew logarithmically, and extracted the system from the monolith into cached, horizontally scalable microservices.
Outcome: Testing showed the new system was more stable, and every discrepancy against the legacy system traced back to an undiscovered legacy bug the new process had fixed. Senior engineers who had been consumed at full bandwidth moved to value-adding work, and I handed the platform to a small junior team that ran it smoothly at thousands of queries per second alongside their other responsibilities.
Apocoplay · Founder and CTO
Apocoplay infrastructure economics
Problem: Front-end game development had become easy, but there was no easy-to-use event-stream and routing solution for turn-based games, so rapid server-side development stayed out of reach for most studios.
Decision: I created an event-stream engine with routing and filtering that enabled rapid server-side development at a fraction of the cost of clients' old solutions, designing and building the core of the engine myself while leading a 20-person team to deliver the product.
Outcome: The engine reduced server and development costs by 90% per game for client studios, saving them hundreds of thousands of dollars per title annually. Aside from an early Kickstarter, the studio funded itself through B2B contracts and B2C sales.