Makely

Technologies & Architecture Stack
Overview
Makely gives spa and wellness businesses the thing most of them do not have: a website that actually takes bookings. A business registers through its Google Business Profile, and Makely generates a booking-ready site for it, plus a dashboard to run it from — services, staff, treatment rooms, availability, clients and appointments.
The website is not the hard part. A spa booking is not one thing being reserved: it is a service, a therapist and a treatment room that all have to be free at the same time. Get that wrong and you have double-booked a room, which is a phone call the owner has to make.
On top of the scheduling sits an AI layer that handles the routine back-office work — processing incoming requests, preparing client summaries for staff, and drafting responses to the questions that get asked every day. The platform is live in production.
My role: Team Lead at Bixosoft. I built this, with my team working under my supervision.
The Challenge
Small appointment businesses lose bookings for a boring reason: the enquiry arrives at nine in the evening and nobody is there to answer it. Fixing that means solving a scheduling problem that is harder than it looks.
- Availability is a multi-resource problem. A bookable slot requires a service, a qualified therapist and a suitable treatment room to all be free simultaneously. That is not a calendar lookup — it is a constraint check across three independent resources.
- Most of these businesses have no booking site. They have a Google Business Profile and a phone number. Every enquiry that arrives outside opening hours is simply lost.
- Every business is different, but none can be bespoke. Services, durations, staff, rooms and opening hours vary from business to business. The platform has to be genuinely multi-tenant rather than a custom build repeated per client.
- The operator is not technical. The dashboard has to be usable by whoever is on the front desk that day, not by someone who has read documentation.
- The back office eats the day. Reading enquiries, pulling up a client's history before an appointment, and answering the same five questions over and over consumes the time of a team that is small to begin with.
Solution & Architecture
Google Business Profile registration
- A business registers through the profile it already maintains rather than filling in another long form.
- The tenant is seeded with real business data — name, location, hours, contact — from the outset.
- Reduces the drop-off that kills onboarding for small businesses with no spare admin time.
Multi-tenant by construction
- Each business gets its own services, staff, rooms, hours and clients within one shared platform.
- Generated booking sites render per tenant from shared templates rather than being built individually.
- Adding a business is a registration, not a project.
Resource-aware availability
- Service, therapist and treatment room availability are resolved together before a slot is ever offered.
- A slot only appears if all three constraints are satisfiable, which is what prevents double-booked rooms.
- Service duration and staff qualification both factor into what counts as a valid slot.
24/7 self-service booking
- Clients book at any hour, so the nine-in-the-evening enquiry converts instead of evaporating.
- Confirmation handled by the platform rather than requiring a staff callback.
Owner dashboard
- Services, staff, rooms, opening hours, clients and appointments managed from one screen.
- Built to be operated by front-desk staff rather than by a technical administrator.
Client records
- Client history kept alongside the booking calendar rather than in a separate system.
- Staff can see who is coming in and what they booked before without going hunting.
AI back-office layer
- Incoming requests processed and triaged automatically instead of sitting in an inbox.
- Client summaries prepared for staff ahead of an appointment.
- Routine responses drafted automatically, leaving staff to review rather than compose.
Next.js frontend
- Server-rendered booking sites and the owner dashboard, built for speed and for search visibility.
- One component system serving every tenant's generated site.
Express and MongoDB
- A multi-tenant application layer covering businesses, services, staff, rooms, clients and appointments.
- Tenant-isolated data so one business's clients and calendar are never visible to another.
Results & Outcomes
Key Takeaway
- A booking is a constraint problem, not a calendar entry. Modelling availability across service, therapist and room together is the whole product. Treating it as a calendar lookup is how booking systems end up double-booking treatment rooms.
- Onboard from data the business already has. Registering through Google Business Profile removed the long setup form that stops small businesses adopting software at all.
- Multi-tenant or bespoke — decide early. Generating per-business sites from shared templates is what made this a platform instead of a series of similar client projects.
- Put AI on the busywork, not the bookings. Request triage, client summaries and drafted replies are genuinely tedious and genuinely automatable. Scheduling and client records stayed deterministic, because those are the parts that must simply be right.
- Build for the person on the front desk. The dashboard's real user is whoever is working that day. Designing for them rather than for an administrator is what determines whether the platform actually gets used.
Have a similar system to build or scale?
Let's discuss your engineering goals, architecture, and timeline.
Explore More Case Studies
Expenses Meet
An offline-first personal finance app built with Flutter and Firebase. Expenses Meet lets users track expenses without internet, auto-links transactions to their account on login, and adds group expense splitting and peer-to-peer loan tracking — all optimized for PKR.
E-CommerceSalveowell
Five product surfaces on one Laravel commerce and compensation platform, serving four regional markets since 2021: the public storefront, a retail shopping app with 100K+ installs, a distributor app, a training app, and an executive admin app. My role grew across the engagement from frontend developer, to sole developer of the retail app, to team lead over the rest.