Skip to content
Portfolio

Projects I’ve built, shipped, and led.

Each one traces to work I owned, across four companies and thirteen years. Filter by area, read the full story where there is one, or ask the AI interviewer for the details.

15 projects
Everee2019 to 2026

A native app, then React Native

Built the iOS app from scratch in Swift and directed a contract engineer on Android. Then tested my own skepticism of cross-platform tools, built a proof of concept, and led the migration to React Native and Expo.

MobileLeadership
Everee and Nutrien2020 to now

Eleven Expo SDK upgrades

Owned seven Expo upgrades at Everee, including a forced move to Expo Dev Client to keep iOS releases shipping. Then owned four at Nutrien, SDK 53 to 57, across a 60+ module monorepo.

MobileDeveloper experience
Everee2021 to 2026

From 10 releases a year to over 100

Moved the mobile app onto Expo Application Services and over-the-air updates, then built continuous-deploy workflows to publish and promote releases. Fixes usually reached phones in under 30 minutes instead of a day or two of store review.

MobileDeveloper experience
Everee2019 to 2026

A distributed backend on AWS

Built services in a Spring Boot backend serving 96K+ monthly active users. Architected its roles and permissions system. Worked in PostgreSQL throughout, including a production Postgres 16 upgrade.

Backend and cloud
Everee2022

CI that paid for itself

Pitched a CircleCI to GitHub Actions migration with a cost analysis, then moved every repository myself. Added tag-triggered deploys and branch protection.

Developer experience
Everee2023 to 2026

One component library, web and mobile

Spearheaded a multi-platform UI component library and a framework for hybrid web and mobile apps. Built an embedded pay card signup flow on the library. Added Storybook and Chromatic to streamline QA.

MobileFrontend
Everee2019 to 2026

Leading the team; carrying the pager

Led a mobile squad, then a full engineering team. Took tier-2 escalations and on-call for nearly five years. Helped respond to security incidents, then led the team that shipped eight security enhancements.

Leadership
Nutrien2026

Test suites that stopped running out of memory

Diagnosed Jest suites exhausting memory both in CI and on laptops across a large monorepo. Then made worker counts and memory limits adapt to the machine. In CI run history, infrastructure-related test failures fell roughly 93 percent, and median pull-request test time dropped from about 16 minutes to about 5.

Developer experience
Nutrien2026

The crashes an upgrade exposed

Diagnosed and fixed the native crashes that a major Expo and React Native upgrade exposed. They included a first-launch crash traced into the framework’s code-splitting loader and a launch crash on a new major iOS release. Fixed a layout assertion in the shared design system, then the years-old render loop it had been hiding.

Mobile
Fixed upstream in the design systemAsk about this: The crashes an upgrade exposed
Nutrien2026

React Compiler across a whole monorepo

Planned, pitched, and executed framework upgrades across a 60+ module, 110+ contributor monorepo. Moved it from Yarn Classic to Yarn 4, then turned on React Compiler across four Expo apps and two Storybook builds. Sequenced React Compiler behind an Expo upgrade when an Expo bug blocked it.

MobileDeveloper experience
InMoment2016 to 2018

An SDK inside Under Armour

Single-handedly built, documented, and published an iOS and Android SDK so clients could embed InMoment in their own apps. Built the demo apps leadership used to pitch it.

Mobile
Shipped by Under Armour, 2018Ask about this: An SDK inside Under Armour
Personal and Nutrien2026

Agent tooling, every day

Build my own Claude Code agent skills for code review, verification, and pull request upkeep. Use them on personal projects and in my daily work.

AI
AWS Certified AI PractitionerAsk about this: Agent tooling, every day
Personal2026

An AI interviewer that cites its sources

Designed and shipped the AI interview on this site. It is a tool-calling agent that answers only from documents it looks up in my public record. It cites what it read, falls back across models through a gateway, and is checked by an eval suite.

AI
Open source2026

Fixes shipped upstream in AI tools

Added Auto model selection to kirocc, a proxy for the Anthropic Messages API. Fixed images dropping out of conversation history. Both merged and shipped in its next release.

AI
2 merged, credited in release notesAsk about this: Fixes shipped upstream in AI tools
Everee2022

Copilot for the whole team

Retired our Codecov subscription when the team would not commit to a coverage floor. Moved the budget to GitHub Copilot seats and rolled Copilot out to engineering.

AILeadership

Want the story behind one of these?

The AI interviewer knows the decisions, trade-offs, and outcomes for every project here. It cites its sources.

Start the interview