raising·case 08·2026
Qurbani in Albania, food packs in Bosnia, a new campus build - one campaign site, three projects, one £27,589 target. Donors give through an embedded Stripe Payment Element, sponsor individual bricks on an 800-brick wall, or fundraise through personal pages with leaderboards. Money lives as integer pence with database-enforced invariants; brick claims are concurrency-safe under real load.
- Scope
- Web · Payments · Campaign
- Stack
- Next.js · Supabase · Stripe · Drizzle · Vercel
- Team
- 2 + client
- Shipped
- 2026
raising·case 08·2026
Balkans Campaign
Web · Payments · Campaign
What it does
Embedded Stripe donations with idempotent webhooks and hourly reconciliation
Sponsor-a-Brick - 800 bricks, race-safe claiming, reservation expiry crons
Gift Aid with immutable snapshots and R68-format HMRC export
Personal fundraiser pages with all-time, weekly and daily leaderboards
Class fundraising competition with auto-generated QR codes
Admin photo tools - face-blur, poster and certificate generators
The craft
Fundraising thermometers that fill as they enter the viewport
Auto-scrolling donor walls with privacy controls enforced at the database
Ease-out-expo reveals with reduced-motion support throughout
Client
Madrasah Vali × Rahma Mercy · registered charity
Next case