● Project

Trikunja

Intelligent Tutor Matching Platform

Type
MARKETPLACE
Status
Live
Year
2025
Built with
React · Django · Python · PostgreSQL · WebSockets · JWT

01

Overview

A full tutor-student marketplace with a weighted matching algorithm, role-based dashboards, real-time scheduling and an automated review loop.

  • › Weighted matching algorithm pairing students and tutors.
  • › Real-time scheduling and role-based dashboards.
  • › Automated review loop closing the booking lifecycle.

02

Problem

Students and tutors relied on social media groups and word-of-mouth: matching was slow, unverified, and bookings happened entirely off-platform with no accountability. Simple filter-and-sort surfaced the same few high-rated tutors for every request, so students got slow responses from overbooked tutors and capable new tutors never got discovered.

03

Requirements

Rank tutors by genuine fit (subject, availability overlap, location, rating), keep match queries fast as the pool grows, and give new tutors a fair chance without degrading match quality.

04

How it's built

  1. CLIENT

    React SPA

    Role-based routing splits student and tutor experiences; JWT auth; optimistic UI on booking actions.

  2. API

    Django REST Framework

    Versioned REST endpoints with serializer-level validation, throttling, and permission classes per role.

  3. MATCHING

    Weighted scoring service

    Scores tutors on subject fit, availability overlap, rating, and distance; weights tuned against real booking outcomes.

  4. REALTIME

    WebSockets

    Pushes schedule changes and booking confirmations to both parties without polling.

  5. DATA

    PostgreSQL

    Composite indexes on (subject, area, rating) keep match queries under 100ms as the tutor pool grows.

05

Solution

A scoring service inside the Django API computes a weighted sum over normalized features. Availability overlap is precomputed into slots so scoring is a pure read. A small exploration bonus for low-history tutors solved cold-start at a measured, capped cost to average match score.

06

Challenges

Real-time scoring versus precomputation. Precomputing all pairs was wasteful at this scale, so candidates are scored per-request over an indexed shortlist.

07

Results

−40%
TIME TO HIRE
100%
BOOKING AUTOMATION
4.8★
SATISFACTION
<100ms
MATCH QUERY

Cut average tutor time-to-hire by ~40%, automated 100% of the booking lifecycle, and reached a 4.8★ average satisfaction. New-tutor first-booking time improved without hurting repeat-booking rates.

CONTACT