All work

Case study

Schoolfundr.

Zero-commission fundraising for schools, built from line one.

Role
Head of Engineering
Type
SaaS platform
Timeline
2022 to now
Stack
Next.js, React, TypeScript, Node.js, MongoDB Atlas, Stripe Connect, Google Cloud Run, Vercel, Salesforce, Twilio, Playwright
Live
Visit site ↗

What people see. Switch to Structure for what runs it.

A public fundraiser page with photo, story, progress toward the goal, a donate button and share options

Schoolfundr helps schools, teams and classrooms raise money and keep 100% of it. I wrote its first line of code and lead engineering for the whole platform: fundraiser pages, dashboards for leaders, students, districts and staff, payments and payouts, and the infrastructure underneath. Today it is part of Hometown Ticketing following a merger.

01

Zero commission, by design

Every gift goes to the school. Donors can add an optional tip, and that tip is the platform's only revenue. It is built into the payment itself: the gift and the tip are split at the source by Stripe, not reconciled later in a spreadsheet.

02

Pages that turn visits into gifts

Each fundraiser gets a public page, and every student gets a personal one, with progress, story, video, a live donations feed and milestones. Sharing is one tap away: text, email, WhatsApp, social or a QR code. Donors can give once, pledge per lap and be charged automatically after the event, or claim dates on a fundraising calendar that never lets two donors take the same day.

03

A dashboard for every role

Leaders run their fundraiser: analytics, donations, participants, teams, sharing tools, invitation and reminder email cadences, and payouts. Students and parents follow their own page and progress. Staff support every account from the admin dashboard, including cash and check gifts.

04

SF+ for districts

SF+ gives districts and organizations one view over every fundraiser in their schools, with configurable approval forms and approvers, payouts, contacts and analytics. A new fundraiser can't go live until the right people have signed off.

05

Money out, safely

Schools and organizations onboard to Stripe Connect. Payouts move through an approval step before funds are transferred, mailed checks are available as an alternative, and refunds flow back through Stripe webhooks so the numbers always match.

06

Built to scale

The API runs in containers on Google Cloud Run behind a load balancer, scaling out for launch days and game nights and back down after. Scheduled jobs close fundraisers, charge pledges and send reminders. MongoDB Atlas holds the data, Salesforce stays in sync for the sales team, and Twilio handles SMS and phone sign-in.

07

Shipping every day

More than 12,000 commits since the first one. Every pull request runs linting, unit tests and hundreds of end-to-end API tests, then Playwright tests against a live preview, and is reviewed by a human and an AI reviewer. Releases move from test to demo to production, each with notes and error tracking attached.

Next projectmyRaceReel