How the Matching Algorithm Works
Student Profiles
Students enter their academic details (GPA, major, year, institution), demographics (nationality, gender, age, ethnicity -- all optional), extracurriculars, achievements, and financial situation. The system also accepts free-text essays ("Tell us about your background and goals") which the NLP model uses for semantic matching against scholarship descriptions.
Scholarship Database
Each scholarship entry includes eligibility criteria (GPA minimum, specific majors, demographics, location), award amount, deadline, application requirements, and a description. The admin panel provides tools to add scholarships manually or import from CSV. Web scraping modules can pull listings from common scholarship aggregator sites (with respect to their terms of service).
Matching Engine
The matching engine uses a two-stage approach. Hard filters eliminate scholarships where the student doesn't meet mandatory criteria (GPA below minimum, wrong major, ineligible nationality). Soft scoring ranks remaining scholarships by fit using a weighted combination of criteria match percentage, award amount relevance, deadline proximity, and semantic similarity between the student's profile text and the scholarship description. The semantic component uses sentence-transformers (all-MiniLM-L6-v2) to embed profile and scholarship texts for cosine similarity scoring.
Application Tracking
Students save scholarships they want to apply for. The dashboard shows application status (saved, in progress, submitted, awarded, rejected) for each. Deadline reminders go out via email 30, 14, and 3 days before each deadline. The system tracks which documents are needed for each application (essay, transcript, recommendation letter) and shows completion status.
