← All case studies
Education Management

Preschool Admissions System

A constraint-satisfaction engine that matches hundreds of students to classes in minutes — honoring capacity, grade rules, sibling requests and family schedules that used to eat 20 hours of admin time.

ClientEducation Provider
SectorSchool Operations
Year2024
What we didMatching Algorithms · Self-service Portal · Analytics
Admin Dashboard
20h → 2m
Processing time
89.6%
Match rate
500+
Student capacity
5
Matching strategies
Overview

Class assignment was a manual nightmare: 20+ hours per enrollment period spent matching 100+ students to classes from paper preference forms, with overbooked favorites and empty alternatives.

We built a unified platform that digitizes the whole workflow — a parent preference wizard, multi-strategy matching algorithms, bulk import, and real-time analytics — turning a 20-hour ordeal into a two-minute run.

The challenge

Every part of the old process created friction and unfairness.

Manual matching

20+ hours per period assigning students by hand from paper forms.

Capacity conflicts

Popular classes overbooked while others sat empty.

Communication overhead

Constant calls and emails about schedules and availability.

Sibling coordination

No mechanism to keep siblings in the same class.

The solution

A unified platform that digitizes the entire enrollment workflow.

  • A constraint-satisfaction engine with five strategies, from fair-randomized to equity-weighted.
  • A guided parent preference wizard with companion (sibling/friend) requests.
  • CSV bulk import that auto-creates parent accounts and detects duplicates.
  • Real-time analytics on distribution, match rate and satisfaction.
Core features

What we built, in detail.

01

Multi-phase matching algorithm

Five modes including Fair-Randomized, Equity-Weighted and Hybrid-Fair, with two-phase priority matching and dedup logic.

02

Role-based portals

Tailored views for admins, teachers and parents with scrypt-hashed auth and protected routes.

03

Parent preference wizard

A guided 4–5 step flow for availability, class rankings and companion requests, validated live.

04

Bulk student import

Onboard hundreds via CSV with header validation, auto-created accounts and grade checks.

05

Equity-first guarantee

A three-phase mode that ensures every student receives at least one class, even under severe capacity limits.

06

System lock mode

Freeze parent access during matching to guarantee data consistency.

Interface gallery

Inside the product.

Admin DashboardEnrollment stats, match rate and activity feed
Enrichment ClassesSchedules with teachers, rooms and enrollment status
Intelligent MatchingAlgorithm settings with equity mode and live stats
Algorithm StatusStudent distribution and class demand ratios
CalendarMonthly view with color-coded schedules
System SettingsAvailable days, companion preferences and locks
Results & impact

What it changed.

20h → 2m
Processing time
89.6%
Match rate
Zero
Data errors
Automated
Sibling coordination
Built with
React 18TypeScriptNode.jsPostgreSQLDrizzle ORMPassport.jsTanStack QueryZod
Next case study

Vennly

→