Skip to content
kobiakov.dev
Web Apps

Haarmonie — Hair Salon Demo

Demo salon website with live appointment booking (Upstash Redis), Gemini AI reception chat, and full DSGVO compliance.

Timeline

2026

Role

Lead Engineer

Business Impact / ROI

Reusable booking product — sellable to any local business

Problem

Local salons still take most bookings by phone — which means missed calls during cuts, no after-hours bookings, and hours lost to the phone every week. Customers increasingly expect to book online in seconds, like they do everything else.

The Challenge

Build a salon website with a real, working appointment system — not just a contact form. It had to show genuine availability, block taken slots the instant someone books (no double-bookings), work on mobile, and stay fully DSGVO-compliant for the German market.

The Solution

A Next.js 15 site with a config-driven booking module: live slot availability backed by Upstash Redis, a 3-step booking flow with optional stylist choice, and instant wa.me + email confirmation with a downloadable calendar entry. A Gemini-powered reception chat answers common questions, consent gating keeps everything DSGVO-safe — and the whole module re-skins for any appointment business.

Technical Highlights

Real-time slot locking via Upstash Redis — taken times disappear instantly, no double-bookings

AI reception chat (Google Gemini) answers price, hours and booking questions 24/7

wa.me + email confirmation with a downloadable .ics calendar entry on every booking

DSGVO-compliant: consent gating, honeypot anti-spam and rate-limited API routes

Config-driven architecture — re-skinnable for any appointment business in about a day

100/100 Lighthouse, fully responsive, EN + DE

System Architecture

Next.js 15 (App Router)

TypeScript

Tailwind CSS 4

Framer Motion

next-intl

Upstash Redis (booking slots)

Google Gemini (AI reception)

Resend

Vercel

Core Technologies

Next.js 15TypeScriptTailwind CSSUpstash RedisGemini AI
Haarmonie — Hair Salon Demo
Share: