I owned the matching platform from the client brief through product design, data modeling, import logic, matching, the complete interface and production deployment.
Make Admission Conditions Usable
Advisors needed to weigh grades, admission conditions, fees and scholarships together. Those rules were buried in inconsistent spreadsheets. Finding a relevant course name did not tell them whether the student could apply, afford it or qualify for a scholarship.
A scholarship condition written in a spreadsheet cell is useful to someone reading it. To evaluate it against a student's grades, the system needs to know which program it applies to and what the condition requires.
I modeled universities, programs, scholarships, accommodations and requirements as related records. Grade thresholds became explicit program requirements. Staff can maintain them through forms and detail views, so changing an admission condition does not depend on another spreadsheet import.
Recover An Interrupted Import
Import runs could last hours. A failure near the end should not mean starting over and paying to transform the same data again.
The spreadsheets referenced one another. I made the importer follow those dependencies, creating universities before their programs and scholarships, and mapping the old IDs to the new records.
AI handles the inconsistent cells, with validation before the results enter the database. I added content-hash caching to reuse unchanged transformations and checkpoints to preserve progress. Temporary failures have bounded retries; failed rows remain available for investigation.
An interrupted run can therefore resume its unfinished work while retaining what has already been processed.
The 20-second film shows the importer through an accelerated demonstration replay.
The terminal shows the current stage, throughput, failures and cost information, giving the operator a way to see where a run stands and what needs attention.
Explain Why A Program Fits
I separated finding relevant programs from evaluating their suitability. Semantic matching helps discover related fields of study that an exact keyword can miss. The scoring layer then compares those candidates with the student's profile.
Alongside MeiliSearch, the matching system uses 13 weighted criteria, including grades, field of study, scholarships, deadlines and available places. Each score has a visible breakdown, with critical conditions flagged alongside it. An advisor can examine a promising result and understand what is helping or hurting the match.
The advisor makes the recommendation. Assigning a program saves its priority and application status on the student's record, carrying the decision into the agency's next steps.
Keep The Shortlist In The Agency's Workflow
I delivered Phoenix inside the agency's Laravel platform, using the customer and academic records staff already worked with. Its later student portal writes extracted grades into those same records.
Staff can maintain the catalog, recover an import and follow a recommendation through to assignment. When a program scores well, the advisor has the underlying conditions and score breakdown available before deciding to put it on a student's shortlist.
The case demonstrates the delivered workflow; it does not quantify a change in advising time or student outcomes.
Clearway is an anonymized client identity. The films and screenshots use synthetic records and prepared replay data; displayed totals, timings and costs describe the demonstration.
Related work: Student Applications & Document Collection shows how documents and grades reach those same student records.

