Projects

UniWizard.

AI-powered university matching for students.

UniWizard helps students find the degrees and schools that fit them. They answer a guided questionnaire and get ranked matches, powered by an AI engine that profiles universities across 23 attributes.

Student
Industry
Education. Canadian universities.
Services
Custom Software & Product Development
AI & Automation
Deliverables
Web application: questionnaire, results, dashboard, and university, school, and degree pages
REST API
AI scoring and matching engine
Stack
  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • shadcn/ui
  • TanStack Query
  • Zod
  • Auth0
  • Spring Boot
  • Java
  • MySQL
  • Python
  • Google Gemini
  • Vitest
  • Playwright
  • JUnit
  • GitHub Actions
Status
Built

The starting point.

The goal was a guided way for a student to say what matters, and to get personalized school and degree matches back.

What we built.

A guided questionnaire, not a search box

Students move through a step-by-step questionnaire about their priorities. The answers feed a results page and a personal dashboard, with a page for each university, school, and degree.

An AI engine that profiles every university

  • A Python engine uses Google Gemini 2.5 Flash to score about 100 Canadian universities on 23 attributes: academic reputation, admission difficulty, cost, co-op and internship opportunities, social life, campus, city size, weather, alumni network, teaching quality, and others. Each score sits on a scale from −1 to 1.
  • Language models vary from run to run, so the engine samples each score in batches until the result stabilizes, at a standard error of 0.02 or below.

A production-minded foundation

  • Sign-up and login with Auth0, with users synced to a Spring Boot API backed by MySQL.
  • A typed React frontend with Zod validation, TanStack Query for data caching, and a component system on shadcn/ui.
  • Unit and end-to-end tests with Vitest, Playwright, and JUnit, and continuous integration on GitHub Actions.
QuestionnaireAPIPreference profileRanked matchesUniversity profiles23 attributes, scored
Diagram. Questionnaire to API, preference profile, and ranked matches against AI-scored university profiles.

How the matching works.

A student’s answers become a weighted preference profile. Universities are ranked by how closely their attribute scores fit that profile, using a weighted distance. Two students can receive very different lists, and both lists can be right.

ReputationAdmissionsCostCo-opCampusCityWeatherTeaching
Eight of the 23 attributes in the matching model. The shapes are schematic, not a real student’s result.
Next Matteria. Read the case study

Let's talk about the work on your team's plate. Tell us what you'd like to build, fix, or automate. We'd like to hear about it.

Tell us about your project