← Back to Work QI
● LIVE CASE STUDY 01

SchedEasy

A school timetable platform that builds clash-free timetables and handles substitute teachers, built from a problem I faced as a teacher.

VISIT SITE ↗
SchedEasy weekly timetable for class 6A
MY ROLE
Design, Development, Hosting
TYPE
Web App for Schools
BUILT WITH
Node.js · TypeScript · PostgreSQL
STATUS
Live at MSB Educational Institute
THE PROBLEM

Hard Work, Undone by One Absence.

At my school, the timetable was built by hand, and it took a lot of time. Every period had to be checked against every teacher so that no one was booked in two classes at once.

Then, on any given morning, one teacher would be absent, and finding cover meant going through the whole timetable again, period by period.

WHAT I BUILT

One Place for the Whole Timetable

Everything a school needs to build its timetable and keep it running, day to day.

Automatic Generation

Builds a full timetable from teachers, subjects and periods, with no teacher booked twice.

Substitute Handling

Mark a teacher absent and assign cover for each of their periods.

Teacher Accounts

Every teacher signs in to see their own timetable and any cover duties for the day.

Co-Teaching

Two teachers can share a class, and both are counted for workload and clashes.

Excel Import

Schools fill in one template and import everything at once, with a preview before saving.

Print-Ready Timetables

Class and teacher timetables in two layouts, ready to print on A4.

INSIDE THE APP

A Closer Look

SchedEasy admin dashboard
Admin Dashboard
Assigning substitutes for an absent teacher
Substitute Cover for an Absent Teacher
A teacher's own dashboard and timetable
A Teacher's Own Dashboard
Teacher dashboard on a phone
On a Phone
UNDER THE HOOD

Hard Problems I Solved

01
Two Clicks at Once

If two people pressed Generate at the same moment, the runs could collide and report clashes that weren't real. A database lock now lets only one run at a time for each timetable.

02
Payments That Can't Be Faked

Every payment confirmation is checked against a secure signature before a school's plan changes, and a repeated message is never counted twice.

03
One Period, Two Teachers

Supporting co-teachers meant every part of the app, from clash checks and workload to substitutes and printing, had to know a teacher could be in either role.

TECH STACK
Node.js Express TypeScript PostgreSQL Drizzle ORM HTML · CSS · JavaScript Razorpay Resend Nginx · PM2
NEXT PROJECTResult Generator
→
© 2026 Qasim Indorewala