Skip to content

KARIMB&YOUSSEFA

FIG. 02 — WORK

One system,
taken apart
honestly.

We are early, and a page of logos we do not have would be the fastest way to lose your trust. So instead of a gallery, here is the thing we are building right now, including the part that is genuinely hard and what we decided to do about it. You can judge the thinking even before you can judge the track record.

Mawaid — booking system

IN BUILD · SHIPPING SOON

THE BRIEF

A clinic, salon or studio takes its bookings on WhatsApp. Customers should pick a real free slot on a page of their own instead of messaging, and staff should run the whole day from one screen. Bilingual from the start, Arabic and English, because half the customers read one and half the other.

THE HARD PART

Two customers can tap the same 10:30 slot in the same second. Checking availability in code is not enough: between the moment you check and the moment you write, the other booking lands. Every WordPress booking plugin we opened has this hole.

HOW IT IS SOLVED

The rule lives in the database, not the code. A unique index on staff plus start time, ignoring cancelled rows, so the second write is rejected by the database itself. The app catches that rejection and offers that customer the next free slot instead of showing an error.

WHAT ELSE IS DECIDED

Every time is stored in UTC and shown in the shop's timezone, which is what stops the Gulf and Europe mismatch that breaks most small booking tools. Staff can only be booked for services they actually perform. Nothing can be booked less than two hours ahead.

Stack
ASP.NET Core · C# · SQL
Interface
Server-rendered, no framework shipped
Languages
Arabic and English, RTL included
Time handling
Stored UTC, shown local
Status
In build

When it ships, this page gets a link you can click and a demo you can book a fake appointment in. Until then it says IN BUILD, because writing LIVE on something that is not live is exactly the sort of thing that makes people distrust developers.

What this is not

A prettier version of the same problem

A new theme on top of a contact form is still a contact form. If the answer is a page and nothing behind it, we will say so and charge you for a page.

A tool you rent forever

You are not buying a seat in our platform. You are buying a system that runs on your own hosting with your own database.

A project we disappear into

You see it running every week. There is no six-week silence followed by a reveal.

Want the same thing, with your name on it?

Start a project →