Back to projects
Live Non-Profit

Transition The Warrior Veteran Network

Non-Profit Mentorship & Resource Directory Platform

LaravelPHPMySQLNon-ProfitREST API
Veterans Registered
1.5K+members
Mentors Matched
300+pairs
Resources Listed
200+entries
Event Registrations
800+total

Non-profit web platform supporting military veterans in career transition. Includes resource directories, mentorship pipelines, event registration, and community support tools built to connect veterans with the right people and resources quickly.

Architecture & System Design

A scoring-based matching engine pairs veterans with mentors based on industry, location, and availability. Resources are indexed for fast tagged search, and event registration enforces capacity limits with a waitlist queue.

Request Flow
Veteran Registration
Profile & Needs Assessment
Mentor Matching Engine
Resource Directory Search
Event Registration
Community Notifications
  • Scoring-based mentor matching algorithm weighing industry, location, and availability
  • Full-text tagged search across the resource directory for fast discoverability
  • Capacity-aware event registration with automatic waitlist promotion
  • Automated email digest pipeline for community updates

Engineering Challenges

Matching Veterans With Relevant Mentors

Problem

Manually pairing veterans with mentors didn't scale and often produced mismatches in industry or availability.

Solution

Built a scoring-based matching algorithm ranking mentors by industry fit, location proximity, and open mentoring slots.

Result

Mentor match relevance improved significantly based on post-match satisfaction feedback.

Resource Directory Discoverability

Problem

As the resource directory grew past 200 entries, veterans struggled to find relevant support services.

Solution

Implemented tagged, full-text indexed search with category faceting across the directory.

Result

Resource findability improved, reducing manual support requests to admins.

Event Capacity Management

Problem

Popular events risked overbooking without a reliable way to cap registrations.

Solution

Built capacity-aware registration with an automatic waitlist queue that promotes attendees as spots free up.

Result

Zero overbooking incidents recorded across 50+ hosted events.

Core Features

Mentor Matching Engine

Scoring-based algorithm pairing veterans with mentors by industry, location, and availability.

Clean Code

MentorMatchingService — Scoring-Based Pairing
1<?php
2
3namespace App\Services;
4
5use App\Models\Veteran;
6use App\Models\Mentor;
7
8class MentorMatchingService
9{
10 public function findBestMatch(Veteran $veteran): ?Mentor
11 {
12 return Mentor::where('is_active', true)
13 ->where('industry', $veteran->target_industry)
14 ->get()
15 ->sortByDesc(fn (Mentor $mentor) => $this->score($mentor, $veteran))
16 ->first();
17 }
18
19 private function score(Mentor $mentor, Veteran $veteran): int
20 {
21 $score = 0;
22 $score += $mentor->industry === $veteran->target_industry ? 40 : 0;
23 $score += $mentor->location === $veteran->location ? 20 : 0;
24 $score += min($mentor->available_slots, 5) * 8;
25
26 return $score;
27 }
28}