At the beginning of 2021 my girlfriend took the plunge and quit her job to start her own nail business called Afterglow. When she started she mainly took home service clients, but later switched to a home studio only model where her clients have to come to her house to receive a treatment.
When she was about to setup her Instagram presence she asked me if I can help to design a logo for her. I didn't really have that much practice in designing logos, but it's always fun and so I gave it a shot. I started the design process on my own and put together a color palette she could use for Instagram and other possible brand assets. To my surprise she really liked what I created and only asked me to add the terms 'nails | beauty' to the word mark.
In Bali businesses run either on Instagram, WhatsApp or both, and so did hers. At this point she got new clients by word of mouth recommendations or her Instagram page. She slowly got problems when planning appointments with clients. Clients first had to ask her for available time slots, then she needed to check her calendar and reply to every single inquiry she got. It was a lot of repetitive and draining work.
I din't want to jump into the next big project and build her a full blown booking system, but I had a simple idea I wanted to try.
I bought a domain for her and built the simplest appointment booking system I could think of. The CMS is a iCloud calendar in which she can enter available time slots. Clients can visit her website afterglowbali.com to see available times and pick an appointment. Once they hit 'Book' on a time of their choosing WhatsApp opens with a draft to her number that looks something like this:
I want to book an appointment.
🗓 Date: Mon 25th April @ 12:00 PM.
Clients then only have to type their name and the desired treatment and send the message.
When she confirms a booking from a client she goes into her calendar app on her iPhone, changes the calendar of the appointment slot and enters the name and treatment of the client and then sends the client a booking confirmation. Sometimes she has more questions for the client dependent on the desired treatment, which can effect the time she plans for an appointment.
After she removes the appointment from her 'Open Slots' calendar on her phone the appointment automatically disappears from her website and no other client will be able to see it.
That is basically the whole system. It is not perfect, and when I was done I had doubts that it would be good enough because I already thought about potential problems that could occur.
For example, in the time she figures out details with a client there is a small chance that a second client sees the same appointment and wants to book it as well. There is also the opportunity for a client to change the time in the WhatsApp message to an unavailable time. Additionally I thought it would be a burden to keep the appointment list up-to-date.
As it turned out, none of it was ever a problem. The website is now online since a little bit over a year and none of those potential problems were real issues.
Some of the functionality that worried me turned out to be really beneficial. Because a booking automatically starts a chat session with Afterglow it's easy to talk to clients and ask them questions if needed. The fact that every available appointment has to get created in a calendar makes it easy to plan around holidays, vacations and other occasions where her business is closed.
One year after we launched her website she has 4 employees and a system like this got even more important and proves its worth every day.
The site consists of a Nuxt.js project and one API route to convert the iCal into JSON. It's hosted for free on Vercel. The only cost we have is the dot com domain. For the logo and other design assets I used Sketch. I built the initial version in around 4 hours and made a few tweaks like adding a price list over the past year.
I am glad I worked on it in a way where I did not try to find the perfect solution, but just something that does the job. As an engineer I naturally try to look into the future to find reasons why something won't work or where an implementation could break and if something is scalable or not. For this project I decided to not think about all of that or try to build the next big SAAS, but instead something that just works for Afterglow.
It paid off. Since the launch of the website she received a lot of compliments from clients for the simplicity of the booking experience. It's something unique that no other studio in Bali seems to offer. Multiple competing nail studios even contacted me because they wanted to have somethings similar for themselves. As it's a unique advantage for my girlfriend I have no plans to ever financially profit from this project. It's hers, forever.