Back to projects

LaunchGood

A global fundraising marketplace connecting fundraisers and donors, powering one-time donations and recurring giving at scale across 150+ countries.

LaunchGood dashboard showing campaign analytics and recurring donation metrics.
Guest checkout flow with multi-step subscription funnel.
Settings page for managing recurring donation preferences and payment methods.
Recurring giving admin dashboard with subscription health KPIs.
Influencer profile dashboard with stats on followers, donations, and impact.

Overview

At LaunchGood, I ship full-stack features for a global fundraising marketplace serving millions of donors and tens of thousands of fundraisers each year. A key leadership priority was delivering a guest checkout for subscriptions end-to-end in one week. During this, I identified security vulnerabilities in the initial proposal and implemented safer alternatives. After launch, over 50% of new subscribers used guest checkout, improving conversions by ~40%.

I led the technical direction for multi-step subscription funnels, utilizing an app-shell pattern for performance, and built follower-facing public profiles with companion admin dashboards backed by NestJS microservices and REST APIs. The work spans an NX monorepo of 23 services and 17 shared libraries, with RabbitMQ powering async messaging between domains like donations, payouts, settlements, and notifications.

Beyond feature development, I drove operational improvements by proactively building custom Retool dashboards for on-call triage, defining end-to-end Heap product analytics, and leading incident response and system design reviews across the platform. I also contributed to the migration toward a client-library pattern that centralizes per-service RPC contracts, DTOs, and Prisma schemas, reducing cross-service coupling.

Day to day, I partner closely with product and design to translate ambiguous goals into shipped software: writing RFCs for non-trivial changes, gating releases through CI checks in a conventional-commits workflow, and mentoring teammates on testing, observability, and safe rollouts.

What I built

Guest Checkout & Onboarding Funnels

Delivered guest checkout in one week, securing vulnerabilities surfaced during design review. Implemented multi-step funnels with Next.js and Redux, improving load times via an app-shell pattern and code-split routes.

Public Profiles & Recurring Dashboards

Built social-media-style public profiles and admin dashboard views for charities to manage recurring programs, fully backed by Jest + React Testing Library suites and REST APIs over NestJS services.

Proactive Operational Tooling (Retool)

Built internal dashboards without formal request, delivering a donor lookup console and scheduled-giving KPIs that let on-call engineers identify spikes and triage billing issues in minutes instead of hours.

Incident Response & System Design

Led production triage using Datadog and AWS, authored runbooks to standardize mitigation, and contributed to system design via RFCs covering subscription billing, settlements, and event-driven messaging.

Event-Driven Microservices

Implemented RabbitMQ producers/consumers across donation, charge, payout, and notification services, with publisher-owned exchanges and consumer-owned queues to keep contracts explicit.

Product Analytics & Experimentation

Defined end-to-end Heap analytics for checkout and subscription funnels, instrumented A/B experiments, and partnered with growth to convert insights into prioritized roadmap bets.

Results

  • Delivered an end-to-end subscription guest checkout in 1 week (leadership priority).
  • Improved subscription conversions by ~40%, with >50% of new subscribers utilizing guest checkout.
  • Reduced on-call billing triage time from hours to minutes via custom Retool donor-lookup tooling.
  • Coordinated CI-gated monorepo releases across 23 services and mitigated regression risks through rigorous design and code reviews.
  • Authored and led RFCs adopted as the standard for recurring-giving and settlement workflows.