Appointment booking software isn’t a new concept. In fact, it’s widely adopted in many industries. But when it comes to salons and spas in South Africa, the adoption rate is surprisingly low.
I realized this firsthand during a frustrating visit to the barbershop. I needed a haircut and, as usual, walked in without an appointment. Unfortunately, there was someone ahead of me, and I ended up waiting over 40 minutes. As I sat there, I thought, What if it were a woman needing a complex hair treatment? The wait time would easily exceed two hours.
This made me wonder why salons weren’t using appointment booking systems to streamline their operations and improve the customer experience. When I got home, I decided to dig deeper.
The Gap in the Market
My research revealed something surprising: while appointment booking software exists globally, none of the existing solutions were tailored to meet the needs of South African salons and spas. Most of the available tools were imported from outside Africa and had failed to gain significant traction locally.
Determined to validate my hunch, I reached out to several salon owners, particularly those running high-end establishments with heavy client traffic. Almost every salon owner I spoke to shared a similar frustration:
• They struggled to manage client appointments efficiently.
• It was challenging to juggle responding to new clients while attending to clients already in the chair.
Hearing these complaints solidified my idea. I realized this was an opportunity to build something tailored to the unique needs of South African salons and spas.
Building the MVP
With a clear problem to solve, I got to work. In just three weeks, I built the MVP (minimum viable product) for SwiftBooked. The platform allowed salon owners to manage appointments, track schedules, and reduce client wait times.
To test the product, I onboarded a small group of salon owners and their clients. The response was immediate but not without challenges.
Our First Big Mistake
Initially, we implemented a payment feature that required users to pay a deposit (or the full amount) for their services while booking. However, because we used Paystack (a Stripe alternative), payments took 48 hours to process.
This created chaos. Clients would walk into salons claiming they had paid on the platform, but the salon owners hadn’t received the money yet. Understandably, they were frustrated.
Within hours of receiving these complaints, we made the tough decision to scrap the payment feature entirely. That night, my team and I worked until 3 a.m. to release an update. Once the payment wall was removed, things started to improve almost immediately.
Early Wins
After resolving the payment issue, usage of the platform began to grow. Within six weeks of launching the beta, we generated over $400 in revenue. This early success gave us the confidence to move from beta testing to a full public launch.
Looking Ahead
Since launching SwiftBooked, we’ve been exploring various marketing strategies to grow both our user base and revenue. While our growth has been steady but small, it’s encouraging to see more salons and spas embracing the platform.
The journey so far has been a mix of challenges, late nights, and small victories, but I’m incredibly excited for what’s ahead. I truly believe SwiftBooked has the potential to transform the salon and spa industry in South Africa.
If you’ve read this far, thank you! I’d love to hear your thoughts—what do you think about SwiftBooked, and do you have any ideas for how we could grow further?
Top comments (13)
Good luck!
Cool story, good luck with your business 👍🏼
As it’s a dev platform and the main audience is the developer community, it’d be interesting to know the technical part — what have you built it with, what tools and infrastructure did you use? I guess you heavily employ embeddable widgets?
You know I keep hearing about emdeddable widgets but I didn’t quite use it.
I used NextJ, Typescript for the Frontend, Express JS and Node + Typescript for the backend .
Also went for mongodb for database.
Will write a post on the comprehensive stack
Amazing stuff right here. I love how you've built a user centered product.
The interface for search can have more status indicators (loaders etc) though....When searching for spas near me I really didn't know what was going on until the google maps search integration just popped up seconds later
You could potentially look at the market here in Kenya as well
It’s actually our plan to launch in Kenya and Ghana as well.
That’s why we chose paystack to allow global payment
Thanks for the feedback
I’ll definitely fix that
Great success story 👏 would love to know what you built the tech side on, like did you use a framework like Baseline github.com/Baseline-JS/core to accelerate your time to market?
Interested in how well your solution is scaling now, any hurdles?
Why didn't you just use Stripe in the first place or at all?
Thanks Thomas
We couldn’t use Stripe because it’s not available in Africa, so we had to incorporate in the UK first before being able to use stripe.
I used NextJs and Typescript for Frontend and Express, Node and Typescript for the backend as well.
This is such an inspiring journey! I love how you identified a real pain point during a personal experience and turned it into an opportunity to create value for others. It’s especially impressive how quickly you pivoted when the payment feature caused issues—that kind of responsiveness is crucial for early-stage startups.
Congrats on SwiftBooked!
Thanks Daniele.
Really appreciate it.
Yeah it was quite tough early on, cause we didn’t have cashflow so we couldn’t sustain the pay per booking model, had to switch to subscription.
Congrats on the launch and good luck! I've built something similar for the US market over at neverwaitapp.com
Is it profitable?