back to case studies
case study

Elika Beauty

A custom booking platform that replaced third-party marketplaces and grew organic traffic from zero.

Role — Full-Stack Developer
Timeline — May 2025 – Present (v1 shipped June 2025)
ReactViteVikeNode.jsExpressMongoDBMongooseTailwind CSSResendGoogle Calendar APInode-cronVercel
Elika Beauty

0%

Organic traffic (month 2)

0

Manual booking confirmations

0h

Automated reminders

0 mo

Time to v1 launch

Overview

Elika Beauty is a Vancouver-based beauty salon owned by Amina Elikaei, offering skincare, lash, and brow services. Before this project, the salon had no dedicated web presence — clients discovered it through Instagram or word of mouth, and bookings were handled manually through DMs and phone calls. The brief was to build a fast, elegant, and fully owned platform: a public-facing site that ranks on Google, a seamless booking flow for clients, and a lightweight admin layer for Amina to manage her schedule without relying on third-party tools.

The Problem

Amina was listed on Fresha, which brought some visibility but came with real costs: her salon appeared alongside competitors, ads pulled clients away before they could book, and she had zero control over SEO or her brand presentation. Bookings that did come through required manual confirmation. There was no way to send automated reminders, block off personal time, or see the week at a glance. Every missed DM was a missed appointment. The core problem: the salon existed online only inside someone else's platform — with their rules, their ads, and their algorithm.

User Flow

Users arrive from four entry points — Google search, Instagram, direct referral, and Google Maps. All paths land on the homepage where intent splits three ways: browsing services, booking directly, or learning more about the salon. Browsers move through Services → Pricing before joining the booking flow. Direct bookers skip straight to the booking page. The booking flow collects service, stylist, date/time, then contact details before a confirmation step with an edit loop. On confirm, users receive an email/SMS summary with a calendar link. Post-visit, the platform prompts a Google/Yelp review and surfaces a rebook CTA.

User flow diagram

Competitive Analysis

Why a custom-built site beats the alternatives.

Custom Site
Fresha
Square

SEO Control

Client Trust

No Distracting Ads

Long-term Cost

Customisation

Full Ownership

Fresha

avoid

Pros

  • Free to list
  • Large existing user base
  • Built-in payment processing

Cons

  • Your salon competes with others on the same page
  • Ads and promotions distract clients before they book
  • Zero SEO benefit — traffic goes to Fresha, not you
  • No control over brand presentation
  • Client data belongs to the platform

Square Appointments

partial

Pros

  • Polished booking UI
  • Integrates with Square POS
  • Decent mobile experience

Cons

  • Monthly subscription cost
  • Generic look — hard to differentiate
  • Limited SEO control
  • Transaction fees on top of subscription

Custom Site (Elika Beauty)

winner

Pros

  • Full SEO ownership — ranks for your name and local keywords
  • No ads, no competitors on the same page
  • Brand-matched design that builds trust
  • Client books directly — no platform cut
  • Automated reminders via email
  • Google Calendar sync for Amina
  • You own the data

Cons

  • Requires upfront development investment
  • Ongoing maintenance needed

Why a Custom Site Wins

Full SEO Control

Fresha listings compete with each other in search results. A custom domain ranks for the salon's name, location, and services — traffic goes directly to Amina, not a marketplace.

No Distracting Ads

On Fresha, a client searching for Elika Beauty sees promotions for competing salons. On a custom site, the only call to action is to book with Elika.

Trust Through Ownership

A dedicated domain with a polished, brand-matched design signals professionalism. Clients feel they're booking with a real business, not just a listing.

Automated Operations

Booking confirmations, reminders, and Google Calendar sync run automatically. Amina spends less time on admin and more time with clients.

Real Analytics

Google Search Console and Vercel Analytics show exactly where traffic comes from, which pages convert, and how clients find the salon — data Fresha never shares.

Owned Data

Every client email, booking history, and preference lives in a database Amina controls. No platform can lock her out or change the rules.

Process

Booking Flow

The booking experience was designed to be as frictionless as possible. Clients pick a service, choose a date from a live availability calendar, select a time slot, and confirm with their name and email — no account required. Under the hood, the calendar queries the server for booked slots in real time, preventing double-bookings. On confirmation, Resend fires a branded email to the client and a notification to Amina. A node-cron job sends a reminder 24 hours before the appointment.

The booking calendar — available slots load dynamically based on existing bookings.

Google Calendar Sync

Amina manages her schedule in Google Calendar. Every confirmed booking is automatically added as an event via the Google Calendar API, so she never has to copy anything manually. Cancellations and updates sync back as well. This was one of the features that had the most immediate impact — within the first week, Amina said she hadn't touched her phone to confirm a single booking.

Google Calendar Sync

Bookings appear in Amina's Google Calendar automatically after confirmation.

SEO & Performance

The site is built with Vike (a Vite-based SSR framework), which means every page is server-rendered and indexable by Google out of the box. Meta tags, Open Graph images, and structured data are set per page. Within weeks of launch, elikabeauty.ca began ranking for local search terms. Organic traffic became the primary booking source — something that's simply not possible when you're listed on someone else's platform.

SEO & Performance

Google Search Console showing organic impressions growing after launch.

Admin & Availability Management

A lightweight admin panel lets Amina block off dates (holidays, personal time) and view upcoming bookings without needing to log into a third-party dashboard. The interface was intentionally kept minimal — Amina is not a technical user. One screen shows the week ahead, one screen manages blocked dates. That's it.

Admin & Availability Management

The admin view — upcoming bookings and date blocking in one place.

Mobile Experience

The majority of Elika Beauty's clients book on mobile. Every screen was designed mobile-first — the service selector, calendar, and confirmation form are all optimised for thumb navigation with large tap targets and minimal scrolling. Swiper.js powers the service gallery, giving it a native app feel on touch devices.

Mobile Experience

Mobile booking flow — designed for one-handed use.

Results

0%

Organic traffic (month 2)

0

Manual booking confirmations

0h

Automated reminders

0 mo

Time to v1 launch

I never thought having my own website would make this much of a difference. Clients tell me they found me on Google, and my bookings just come in — I don't have to chase anyone anymore. It feels like a real business now.

Amina Elikaei, Owner, Elika Beauty

Style Guide

Brand colours, typography, and logo usage.

Color Palette

#440008

Deep Burgundy

Primary brand — headers, nav, key UI elements

AAA16.8:1
#E7A45D

Warm Wood

Accent — mirrors the salon's interior wood tones, CTAs

AAA9.9:1
#E4E2DD

Cream

Background — soft warm neutral for page backgrounds

AAA16.2:1
#F9F7F4

Off White

Surface — cards, modals, input backgrounds

AAA19.6:1
#1A0003

Deep Contrast

Body text on light backgrounds

AAA20.1:1

Typography

HeadingPlayfair Display7003xl

Elika Beauty — Where elegance meets care.

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

Logo The Seasons300base

The quick brown fox jumps over the lazy dog

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

BodyInter300base

The quick brown fox jumps over the lazy dog

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

Logo Variations

Logo variation

Logo

light background

Conclusion & Learnings

This project reinforced how much value a well-built, owned web presence delivers compared to relying on a marketplace. The technical work — SSR, calendar sync, automated emails — was straightforward. The real impact came from the combination: a fast site that Google can index, a booking flow with no friction, and a brand that clients trust on first visit. v1 shipped in under a month. The focus since has been on performance tuning, SEO refinement, and adding features based on Amina's feedback. It's the kind of project that keeps giving — every improvement compounds.