Skip to content
Booking PlatformNext.jsMERNMulti-TenantAI AutomationResource SchedulingSaaSUnited States

Makely

Client: US spa & wellness business — delivered at Bixosoft
Makely
24/7
Self-service booking
3-in-1
Bookings, clients, resources
AI
Back-office layer
Multi-Tenant
Architecture

Technologies & Architecture Stack

Next.jsReactNode.jsExpressMongoDBJavaScriptGoogle Business ProfileAI workflows

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Live in production:
A working booking platform serving spa and wellness businesses in the United States.
Three capabilities in one platform:
Bookings, client management and resource scheduling, rather than three tools that have to be reconciled.
Bookings taken around the clock:
Self-service booking means enquiries arriving outside opening hours still convert.
No double-booked rooms:
Because availability is resolved across service, staff and room together, a slot is only ever offered when all three are genuinely free.
Onboarding without a form:
Registering through Google Business Profile seeds a tenant from data the business already maintains, which removes the main barrier to getting started.
Extensible beyond spas:
The same multi-resource scheduling model applies to salons, clinics and studios — any appointment business with the same constraint problem.
Multi-tenant SaaS architecture:
One platform generating and serving per-business sites and dashboards, with tenant isolation throughout.
Constraint-based scheduling:
Treating availability as a constraint problem across independent resources rather than as a calendar query.
AI applied where it pays:
Automation aimed at the routine back-office work that consumes a small team's day, while bookings and client records stay deterministic.
Technical leadership:
I built this with my team working under my supervision, from architecture through to production.

Key Takeaway

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.