← back to projects
PROJECT 05 · 2025

Mazi

A booking and scheduling layer for independent service providers — tailors, mechanics, tutors — who take appointments over the phone by habit.

Web application Shipped Lead engineer
Next.jsNodeMySQLPaystack

The problem

Independent service providers in Lagos were losing bookings to double-scheduling and missed calls. Most existing scheduling tools were built for salons in cities where customers expect to book online — that assumption didn't hold here.

The approach

Rebuilt the scheduling flow around the phone call rather than trying to replace it. The provider still talks to their customer; Mazi just makes sure the slot they offer is actually free and the appointment is written down the moment the call ends.

OBSERVEREDUCEMODELBUILDTESTSHIP

System diagram

Focus or hover a node for what it does.

Provider
Shared calendar
Slot check
Confirmation SMS
Customer record
Reminder
A provider opens the calendar mid-call to see real availability.
Every business shares one calendar across staff, so nothing double-books.
A slot is locked the instant it's offered, not after confirmation.
An SMS confirms the appointment without requiring a smartphone app.
A lightweight customer record remembers repeat clients.
A reminder goes out the morning of the appointment.

By the numbers

6
Provider types supported
3
Weeks to first release
14
Interface states
5
Releases

Decisions I kept

  • Designed for feature phones receiving SMS, not just smartphones
  • One shared calendar per business instead of per staff member
  • Manual override always available — the provider is never blocked by the system
  • Paystack integration was optional, not forced

Things I didn't build

  • A public booking website for customers — most bookings still start with a call
  • Multi-location support — every provider using it ran a single site
  • Native mobile app — SMS and a lightweight web view covered the need

What changed

Providers reported fewer double-bookings within the first month of daily use, and the shared calendar meant a provider's assistant could take a call without needing to ask them directly.