Problem
To see vacancies, students had to visit the career centre in person. The website listed nothing and had no filtering
Meanwhile the internet was where young professionals looked for jobs and internships first. Employers wasted effort on unsuitable candidates, and the centre spent staff time on work a system could do
The idea
Turn a student’s record into a score. The system collects grades and individual achievements such as projects, articles, research and lab work, converts them into points, and shows each student the internships and jobs their score qualifies for. Students can still reach career centre staff for help with a CV or an application
The product
- Browse by category. The home page groups vacancies into categories; each opens a list, and each vacancy has its own page with description and requirements
- Apply in one form. Name, email, CV link, study group and cover letter. Students can apply to several vacancies
- Personal account. Profile and points rating. Vacancies above a student’s score are hidden, so they only see what they can apply for
- Closed registration. The platform is for the university only, so accounts are created by an administrator
- Staff side. Career centre staff see all applications in the admin panel
- Contacts. Office details, messenger links, a vacancy newsletter and a map to the office
Points ruleA student sees and applies only to vacancies whose minimum score is at or below their rating
On every pageCenter contacts, messenger links, a vacancy newsletter and a map to the office
Building it
I designed the database and system modules, then built the whole thing myself: Django and SQLite on the backend, HTML, CSS and JavaScript on the frontend. The eligibility rule lives in the template, comparing a student’s points with each vacancy’s minimum score
The platform still runs today. Building it taught me early that a design decision is also a data model and a set of edge cases, which is why I now talk to engineers in their terms
Detailed implementation
The full write-up lives in Notion: diagrams, module breakdown and the user journey