Mori Barbershop

An Editorial Hair Studio Website

Web Design Front-End Development B2C
mori.atelier

The live hero of the real site, running inside this page. Hit "Refresh" to replay the intro animation. The rest of the site is shown below.

Mori is a men's hair studio and barbershop, positioned as an editorial, high-art take on grooming. I designed and built the website end to end, from the branding-led wordmark and hero motion down to a working booking flow.

The site covers:

Brand storytelling Service menu & pricing Gallery Location finder Live appointment booking
Role
Platform
Tools
Duration
Designer & Developer
Web
Figma, HTML, Tailwind CSS, JavaScript, GSAP
Personal Project

The site

One long page that moves from the hero through the story, menu and gallery to a live booking form.

Mori hero with the wordmark and barber pole carousel
Hero
The Atelier Spirit story section with opening hours
Story and hours
Service menu with durations and prices
Service menu
Scrolling haircut gallery
Gallery
Client reviews section
Reviews
Location cards for the two branches
Locations
Live queue and appointment booking form
Live booking

Mobile

The same flow, rebuilt for a phone.

Hero on mobile
Service menu on mobile
Booking on mobile

Design system

A deep rose on cream and near-black, one friendly sans and one expressive ease-out.

#7D2327
#6A1E21
#DFBDBE
#F6F3EB
#1A1714
#3F6752
AaPlus Jakarta Sans
AaLight to Extra Bold

ease

expressive ease-out, used for the intro and reveals

Built with

The tools I picked, and why each one fits a single-page brand site.

HTML & CSS

Mori is one long brand page with a booking form, so plain HTML and CSS were enough. No framework to load, and it is simple to host and edit.

Tailwind CSS

The editorial layout and its breakpoints came together quickly straight from the Figma design, with spacing and type kept consistent.

JavaScript

Powers the live queue, availability check and booking form. It is a front-end prototype in plain JavaScript, with no backend and nothing to install.

GSAP + ScrollTrigger

The pinned hero, where the carousel card grows as you scroll, needs motion tied exactly to scroll position. CSS alone cannot do that cleanly.

Figma

The wordmark, colours and layout were designed here first, so the build follows a decided system instead of being improvised in code.

Back to top
Say Hi