Skip to content
Elias Al-Sumairi logoCV (resume PDF download)
← Back to projects

Voluntree

A campus volunteering platform that fills event slots fairly.

Live2nd Place Prize, Catalyst: Igniting Future Innovation (MMC Upstart 2026)
Year
2026
Role
Team lead and developer · team of four
Links
Live site ↗Code on GitHub ↗

joinvoluntree.vercel.app

Voluntree screenshot
Open in new tab ↗

Voluntree: live demo

The problem

Volunteer slots at AIU go to whoever replies first in WhatsApp and Telegram groups. In a 20-student survey, 7 of 13 applicants had been turned away at least once, and 4 of 13 volunteers never received a certificate.

The solution

Voluntree replaces the race with a transparent process. It recommends students who have had fewer opportunities, lets the database enforce capacity, and closes the loop with verified attendance and a certificate. It was built for the MMC Upstart 2026 Catalyst (Focus Area 02, Smart Campus and Institutional Systems).

  • AI drafts a mission from a pasted event announcement; a person always edits and publishes it.
  • A transparent score recommends students with fewer past opportunities and explains why ("Why recommended").
  • Capacity is enforced by the database, so there is no race for slots.
  • QR check-in and organizer-approved attendance, then a PDF certificate and growth of the student's private date palm.
  • Admin view with a fairness chart, a dean-approval queue and logged revocations.

Key screens

  • Voluntree landing page
    Landing page: fair volunteering at AIU.
  • Voluntree tree seen from above
    Each leaf on the tree is a mission a student showed up for.
  • An event announcement next to the mission AI drafted from it
    AI drafts the mission from an announcement; the organizer checks every field before publishing.
  • Three students with recommendation bars and reasons
    Fair matching, with reasons: every recommendation says why.
  • Voluntree landing page on a phone
    Mobile.

Technical decisions

Overbooking is impossible at the database level

PostgreSQL row-level security and locking functions mean capacity is never exceeded, and a repeated approval changes nothing. The schema is built from 12 Supabase migrations and backed by 293 automated tests.

AI drafts, people decide

A Groq LLM step turns an announcement into a mission draft. Its output is validated with Zod, and a human must review it before anything is published.

Results

Across a simulation of 100 students and 20 missions, Voluntree placed 88.9% of first-time volunteers, against 66.7% under first-come-first-served. It was fairer on 10 of 10 further random seeds.

The trade-off: the most experienced 10% of students receive fewer new placements.

Voluntree won the 2nd Place Prize in Catalyst: Igniting Future Innovation (MMC Upstart 2026).

Note: The evaluation uses synthetic data, not real students.

Stack & credits

  • Next.js (App Router)
  • TypeScript
  • Tailwind CSS
  • Supabase (PostgreSQL, RLS)
  • Groq LLM
  • Zod
  • pdf-lib
  • Vitest
  • Vercel

Built by a team of four. The matching, certificate and evaluation modules were built by my co-developer.

More projects