About

Senior full-stack software engineer specializing in TypeScript, React, Node.js, and Ruby on Rails. I enjoy turning complex problems into simple, maintainable solutions, improving developer experience through better tooling and workflows, and building products that are intuitive for users and easy for teams to evolve. I’m passionate about deeply understanding the technologies I use, including their design decisions, tradeoffs, and underlying principles, and sharing that knowledge to help other engineers grow.

Featured Projects
A few of my favorite personal projects and developer tools I've built for myself.
Budgeteer - Budgeting App
GitHub →

A zero-based budgeting web app inspired by EveryDollar. It automatically imports transactions via Plaid, reconciles pending transactions after they post, and provides detailed spending analytics and visualizations.

TypeScriptNode.jsTanStack Start & RouterReactMantinePostgreSQLPrisma
portman - Port Manager / Reverse Proxy
GitHub →

A CLI that assigns each project or worktree a unique port, injects $PORT into the environment, and reverse proxies applications into memorable URLs like https://app.localhost.

RustCaddy
chron - Declarative Cron CLI
GitHub →

A declarative alternative to crontab. Define cron jobs in a live-reloaded TOML file with commands, schedules, and retry policies, then monitor and manage them through a CLI and HTTP dashboard.

RustIPC
ross - Deno RSS Server
GitHub →

A Deno server that generates RSS feeds for websites that don't publish one, including feeds built from scraped HTML via CSS selectors and semver-aware release feeds for npm packages.

DenoTypeScriptHono
git-cleanup - Git Worktree Cleanup CLI
GitHub →

An interactive CLI that safely cleans up merged git worktrees and branches, making long-lived worktree workflows easier to manage.

DenoTypeScript
Professional Experience

During my time at Cru I've worked across the stack to modernize legacy systems, optimize existing applications, and build features used by thousands of staff and donors around the world. I've helped teams ship reliable software by establishing technical standards, mentoring other developers, and introducing AI-assisted workflows that accelerate delivery without sacrificing quality.

Led architecture and delivery for cross-functional initiatives, designing scalable solutions, collaborating across teams, and guiding projects from technical planning through production release.
Migrated a custom authentication system to Okta for a donation platform processing $75M annually, seamlessly transitioning 380,000 users with no production incidents.
Modernized a large donor CRM by migrating from AngularJS to React, while improving Ruby on Rails GraphQL API performance by 25% and reducing JavaScript bundle sizes by 40%.
Established AI-assisted development workflows across the team, helping engineers use LLMs effectively for implementation, debugging, architectural exploration, and refactoring.
Open Source
A few contributions to open source projects that I'm most proud of.
Deno SQLite

Updated the deno-sqlite library for compatibility with Deno 2, adapting it to runtime API changes introduced in the major release.

Starship

Added JSR package manager support to Starship, allowing the prompt to detect and display project package versions alongside other JavaScript ecosystems.

Raycast

Designed and built the Git Worktrees extension for the Raycast Store, bringing common Git worktree workflows into Raycast for faster repository management.

TanStack Router

Added support for asynchronous serverFn validation, enabling more flexible server-side validation workflows in TanStack Router.