Internship Allocation — مسارات الامتياز

A fair, GPA-ranked competitive allocation system that places internship students onto rotation tracks, specialties, and hospitals based on their ranked preferences.

Check the gallery
Date:

Jan 2025 - Present

Categories:
Web DevelopmentAlgorithmsBackend DevelopmentLaravelOptimization
Technologies:
  • Laravel
  • Filament
  • PostgreSQL
  • Docker
  • Fly.io
  • Livewire

Internship Allocation — مسارات الامتياز

A platform that automates one of the hardest administrative problems in a medical internship program: distributing students across rotation tracks, specialties, and hospitals — fairly, transparently, and at scale.

Challenge

Hundreds of interns each submit ranked preferences for tracks and monthly hospital placements, while every facility has a limited number of seats per specialty per month. Doing this by hand is slow, opaque, and easy to dispute.

Solution

  • GPA-ranked competitive allocation: a greedy algorithm processes students by GPA and walks their ranked wishes, assigning the highest available preference while never exceeding a facility’s seat capacity.
  • Concurrency-safe: the whole distribution runs inside a database transaction with pessimistic row locking, so seats can never be double-booked.
  • Flexible by design: supports elective months (student-chosen specialty), custom out-of-list wishes, and a full month-by-month capacity matrix.
  • Role-based management: admin, student, leader, and data-entry roles, bulk student import, and a full audit log.

Technical Implementation

Laravel 11 with a Filament 4 admin, backed by PostgreSQL and deployed on Fly.io via a multi-stage Docker build (nginx + PHP-FPM + supervisor). The core allocation logic is the most algorithmically interesting part of the suite, with ~180 commits of iteration behind it.

© 2025, All Rights Reserved.