Skip to content
Book a Free Call

Case Study

The tutoring centre whose numbers stopped lying

The tutoring centre whose numbers stopped lying, case study screenshot by Femmy Creative Hub

This is the story of YEO English Center at yeoenglish.com, published with the owner’s permission. An online English tutoring centre runs hundreds of one on one Zoom classes every week. Students in Vietnam and Thailand, teachers in the Philippines, one non technical owner holding it all together by hand.

Their WordPress site could not answer the two questions every education business lives on. Who taught what. Who owes what.

What we found

We did not build this site. We inherited it, live, with real families and real salaries depending on it. The first weeks were forensic work.

The payroll and invoice pages were silently returning nothing. The queries referenced database tables that did not exist, and they failed without a single error message. The owner was days from running monthly billing that would have produced an empty result.

Teachers were being paid for classes that had not happened yet, and for classes where the student never showed.

The page cache was serving logged in pages publicly, so one person could load the site and see another person’s account.

The bank QR codes on the payment page had never once been scannable. Every parent who ever paid had typed the account number by hand.

Nearly two thousand phantom classes belonging to departed teachers were blocking real students from booking real lessons.

What we built

The owner’s rule is simple. No class, no pay. So the payroll engine now pays only for classes that were actually taught and marked attended, in clean half month periods, with a per class audit trail showing the student, the date, the duration and the attendance behind every single payment.

Billing now runs in two currencies without mixing them. Vietnamese students get dong invoices with working QR codes. Thai students get baht invoices with Thai language bank instructions.

And because the owner should not need a developer to run her own school, she got seven self service tools. Add a student, remove a student, reassign classes, change a schedule, replace a teacher, archive someone who left, all from one admin console, each with a preview step before anything commits.

The part we’re proudest of

While testing a new correction feature, we caught a bug that would have paid a teacher twice for the same class. It had never fired in production. It never got the chance. Code that touches wages earned by real people should be proven at the interface, with real pages and real numbers, before it touches a single paycheck. That is how we work.

Verified results

A billing run that returned nothing now produces hundreds of accurate invoices across two currencies every month. July alone: 248 student invoices worth 158,800,000 Vietnamese dong, up from zero. July payroll: 26 teachers, 188,700 Philippine pesos, also up from zero.

A payroll query that crashed at 45 seconds now finishes in under 3.

792 classes paid in a single half month period, every one traceable to a real, attended lesson. At handoff the platform was managing 256 active students, 22 teachers and roughly 45,000 appointment records, all inside a live production system with no staging environment, where every change had to be safe on the first run.

Seven admin jobs that used to need a developer now take the owner a few clicks.

Engagement ongoing. Student and teacher names stay redacted in every screenshot because they are real children and real staff. The business is named with the owner’s permission.

He is very great to work with. A big help to me. Will definitely work with him again.

Tana, owner of YEO English Center

Want results like these for your course?

Book a Free Platform Strategy Call

Your course deserves a better platform. Let’s talk.

Book a Free Call