Los Angeles · Full-Stack Engineer · Rust + TypeScript

I ship systems that remove operational bottlenecks and improve execution speed.

At GoodUnited, I delivered automation and realtime fundraising systems for major nonprofits (including St. Jude and Wounded Warrior Project) in partnership with Meta.

View case studiesOpen live lab

Verified outcomes

Hard metrics and execution under real production constraints

Eliminated high-volume response backlogs

Built a TypeScript + Playwright automation tool that ran at roughly 12x per-operator speed and scaled to 72 concurrent instances, clearing persistent backlog for high-volume fundraiser programs.

Replaced 48-hour lag with realtime fundraiser signals

Built an Express + Svelte + MongoDB app integrated with Meta APIs to capture fundraiser creation and donation events immediately, replacing delayed CSV workflows.

Built event-driven publishing platform in Rust

Designed a 13-crate Rust workspace with Directus webhook ingestion, queue-based processing, content transformation, and custom Substack integration for automation chains where official APIs were limited.

Open-source proof of how I think

These crates show the engineering traits I optimize for: explicit invariants, readable APIs, and architecture that makes incorrect states harder to express.

statum

Compile-time typestate patterns for Rust systems where transitions, staged construction, and persistence need to stay explicit.

  • Makes invalid transitions impossible to represent at the type level
  • Supports reconstructing machines from persisted data without dropping type safety
  • Reflects my bias toward APIs that encode workflow rules instead of documenting them
  • rust
  • typestate
  • invariants

nestum

Nested enum paths and match ergonomics for domains where hierarchy is real and flattening the model makes code harder to read.

  • Lets APIs read like the problem domain, such as Event::Documents::Update
  • Keeps nested invariants visible instead of hiding them behind conversion layers
  • Shows my preference for abstractions that remove friction without weakening meaning
  • rust
  • enums
  • proc-macros

modum

A Rust workspace lint tool for naming, namespace shape, and API-surface rules that I want codebases to hold consistently.

  • Turns readability and API-shape standards into an enforceable workspace check
  • Carries the same type-first, module-first standards used throughout this portfolio
  • rust
  • linting
  • api-shape

Selected case studies

Three projects with measurable business and operational impact

Automation & Operations

Automated Fundraiser Acknowledgment at Scale

OutcomeDelivered 12x per-operator throughput and ran 72 parallel workers, eliminating backlog while reducing response errors.

Replaced a manual outsourced workflow for thanking fundraisers with browser automation that executed reliably and continuously.

Realtime Product Systems

Built Realtime Fundraiser Creation + Donation Visibility

OutcomeMoved teams from delayed, donation-only reporting to realtime operational visibility across millions of users and tens of millions of donation records.

Shipped a web app that enabled one-click fundraiser creation and immediate donation insight, replacing lagging batch CSV processes.

Platform Architecture

Custom Substack Publishing Pipeline in Rust

OutcomeShipped a deterministic automation chain from Directus webhooks through queued workers into publishing operations.

Built a CMS-driven event pipeline that transformed and published content through a custom Substack integration when official API coverage was limited.

Need deeper technical signal?

Open the live lab to inspect request flow, backend events, and SSE behavior in one place. I also publish candid architecture findings, including strengths and risk debt from external codebase reviews.

Enter live labContact