Case study · 2025
ReadWithUs — Online Tutoring Platform
Six months developing a large PHP/MySQL tutoring marketplace — scheduling across time zones, payments, video lessons and reporting.
- PHP
- MySQL
- JavaScript
- SCSS
- Stripe
- Zoom
- Google Calendar API
- AWS SDK
- PHPMailer

Context
A tutoring marketplace connecting learners and tutors across many countries — one-to-one lessons, group classes, packages, wallet and gift cards. The codebase is a large MVC PHP application (1,300+ PHP files) built on the commercial Yo!Coach platform.
System design
Learner / Tutor / Admin (web)
│
┌────────▼─────────┐
│ Apache + PHP MVC │ application · dashboard · manager (admin)
└──┬───────┬───────┘
│ │
MySQL Plugins (attach/detach per client)
orders, ├─ Payment gateways: Stripe, bank transfer
lessons,├─ Meeting tools: Zoom, Lesson Space
availability,├─ Google Calendar / OAuth
transactions └─ Mailchimp, reCAPTCHA, AWS S3, PHPMailer, mPDF
The hard parts of this domain
- Availability across 70+ countries with daylight saving — general vs weekly availability, converted per user time zone
- Six order types (lessons, group classes, packages, wallet top-ups, gift cards, subscriptions) with refunds and tutor payouts
- Financial reporting — gross, discount, net, paid-to-tutor, refunded, per day
My work (6 months)
Feature development, customisation and maintenance on the PHP/MySQL codebase — working inside a large existing system, with its plugin architecture for payments and meeting tools, and keeping changes safe for live users and money flows.
More projects
2025–26Case studyDubai Haus — Real-Estate Platform, SEO & Growth
Bilingual property platform built from scratch and grown through SEO — 2,200+ synced projects and 6.8× more organic clicks in 12 months.
- Next.js
- PostgreSQL
- Prisma
- Redis
- +8
Read case study
2026Case studySaadiyat Marina — Bilingual Property Publication
German-first Next.js publication on Abu Dhabi's Saadiyat Island — 54 URLs with a complete hreflang cluster, built in 7 working days.
- Next.js 15
- TypeScript
- JSON-LD
- hreflang
- +3
Read case study
