match-a | youCode 2026 - SAP Case

"People didn't stop caring. The system connecting them is what's broken."

BC has 29,000 nonprofits contributing $6.7 billion to the economy. Since the pandemic, volunteerism has not recovered, and the gap is widening. Organizations are cutting programs because they don't have the people. When volunteers do show up, nothing keeps them. When they leave, their institutional knowledge walks out the door. match-a is a four-layer volunteer lifecycle platform that doesn't just recruit, but mobilizes, retains, and preserves.

The Problem

The infrastructure connecting willing people to the organizations that need them is fragmented. Existing platforms like Better Impact and Galaxy Digital handle normal volunteer scheduling, but nobody addresses the acute crisis — the moment a food bank's delivery driver doesn't show up and 200 families don't eat. Meanwhile, coordinators have no visibility into which volunteers are about to disengage, and when someone leaves a role, the next person starts from scratch.

The Four Layers

match-a addresses the full volunteer lifecycle, from first sign-up to lasting impact:

  • Match: Volunteers complete an onboarding quiz: skills, languages, causes, availability. A weighted compatibility algorithm scores every opportunity across five dimensions: skill overlap (40%), cause alignment (25%), availability (15%), language (10%), and background check (10%). No generic feeds, and every volunteer sees opportunities ranked for them.
  • Mobilize: When a nonprofit hits a critical staffing gap, they post an urgent request. Matched volunteers receive a real-time alert via Supabase Realtime subscriptions with no refresh, no polling. One tap to accept. The coordinator sees the confirmed count update live on their dashboard.
  • Retain: A churn prediction engine extracts six engagement features: days since last active, hours trend, shift frequency, acceptance rate, tenure length, and crisis response count, then classifies volunteers as active, cooling, or at-risk. Coordinators see a traffic light system with suggested actions, not raw probabilities.
  • Preserve: When a volunteer steps back, a structured handoff document captures their key contacts, recurring tasks, and role-specific tips. The document attaches to the role, not the person. The next volunteer inherits it on day one.

How We Built It

  • Frontend: Next.js, TypeScript, Tailwind CSS — split-panel layouts with custom matcha-themed design system using Fraunces + Outfit typography
  • Backend: Supabase PostgreSQL for data, Supabase Auth for role-based access (volunteer vs. coordinator), Supabase Realtime for live crisis dispatch
  • Matching Engine: Weighted multi-feature scoring algorithm computing compatibility across skills, language, availability, cause alignment, and background check status
  • Churn Pipeline: Feature extraction from engagement logs → rule-based classifier mirroring logistic regression decision boundaries → actionable output (not scores)
  • Data: 30 real BC nonprofits from CRA T3010 registry, 98 volunteer profiles, and synthetic engagement history for churn model validation
  • Hosting: Vercel with automatic deployment on push

Challenges

  • Building real-time synchronization between two separate user views. Coordinator posts a crisis request and the volunteer needs to see it appear instantly on a different device
  • Designing a churn prediction system without months of historical training data. We built the feature extraction pipeline and classification logic using heuristic rules that mirror logistic regression, structured so it plugs directly into a trained model with real data
  • Making the coordinator experience simple enough for someone with no technical background. Every design decision was pressure-tested against the SAP case constraint: "your user might not have IT support"

What We Learned

  • First time implementing Supabase Realtime subscriptions for live event-driven UI
  • Designed a weighted recommendation algorithm with explainable scoring breakdowns
  • Built a complete ML feature extraction → classification → action pipeline
  • Implemented role-based authentication with conditional onboarding flows
  • One of our teammate's first time trying full stack development

Future Features

  • Push notifications (email or mobile) for urgent requests
  • Additional verification for coordinators
  • In-app chat between volunteers and coordinators to address communication barriers
  • Mobile app for faster, on-the-go responses
  • Calendar sync (so volunteering fits your schedule easily)
  • Reminder nudges before shifts
  • Ratings/feedback after shifts to improve matches

Built With

Share this project:

Updates