Skip to content
All work

Case study 05 / 09

Client website · 2026

Glamify Wellness Spa

A responsive, animated marketing site for a ladies-only skincare and beauty spa, built with Next.js 16, Tailwind CSS and shadcn/ui.

Role
Sole developer
Stack
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Motion
  • Embla Carousel
  • React Hook Form
  • Zod

Credit

Photography on the site is currently stock imagery, until the spa’s own photos are added.

Glamify Wellness Spa homepage: a dark hero with pink tulips and the serif headline “Where Beauty Meets Science”, with “Book a Consultation” and “Explore Services” buttons.
ScreenshotHomepage of the live site. Screenshot captured October 2026.

01

Overview

Glamify Wellness Spa is a ladies-only skincare and beauty spa offering facials, microneedling, waxing and lash treatments. Its website presents the treatments and invites visitors to book a consultation.

I built it as a ten-page Next.js site with an animated hero, a treatment catalogue and a consultation request form.

02

The brief

A spa sells on trust and atmosphere. The site has to feel calm and premium, explain each treatment clearly and make booking a consultation the obvious next step on any phone.

03

Role and scope

Role
Sole developer
Scope
Front-end design implementation and build, deployed on Vercel.

04

Main features

  • Ten pages

    Home, about, a services overview, four treatment-category pages, gallery, FAQ and contact.

  • Animated hero

    A full-screen, auto-advancing hero with animated headlines, plus carousels built with Embla.

  • Treatment catalogue

    Services, FAQs and navigation come from typed data files, so a content change is a single edit.

  • Consultation form

    Name, contact details, treatment and preferred date, validated with React Hook Form and Zod. Delivery to the spa is still to be connected.

  • Per-page SEO

    Titles, descriptions and Open Graph metadata for every page.

  • Mobile navigation

    A dropdown menu on desktop and an animated drawer on phones.

05

How it’s built

  • Typed content

    Treatments, FAQs and navigation live in TypeScript data files that every page reads from.

  • Accessible components

    shadcn/ui on Radix primitives gives keyboard-friendly menus, accordions and dialogs.

  • Motion where it counts

    Motion and Embla animate the hero and carousels; everything else renders statically.

Integrations

  • Vercel hosting
  • Motion
  • Embla Carousel
  • shadcn/ui (Radix)

06

Screenshots

  • Glamify services page headed “Discover Our Services”, with cards for facial and skin rejuvenation and body treatments on a warm cream background.
    ScreenshotServices page on the live site. Screenshot captured October 2026.
  • Glamify homepage on a phone: the spa logo, a menu button and the serif hero headline over a dark photo.
    ScreenshotHomepage on a phone. Screenshot captured October 2026.

07

Challenges and decisions

  1. Premium without weight

    Serif display type, soft colours and full-bleed imagery set the tone, while static rendering keeps the pages quick to load.

08

What was delivered

  • A ten-page responsive website deployed on Vercel
  • An animated hero and carousels
  • A validated consultation request form (front end)
  • SEO metadata on every page

Next case study 06 / 09

Next case study: The Book Bazaar

Personal project · 2022–2023

A Django marketplace where students list the books they have finished, and buyers search, save and contact sellers.

The Book Bazaar shown on a desktop monitor, laptop, tablet and phone: a yellow-and-black storefront with the slogan “Work smart, study hard” and a row of most-visited books.

Have a project in mind? Let’s talk it through.

Tell me what you are building, what it needs to do and when you need it. I will reply with questions, an honest view of the options and the next steps.