Skip to content
// SELECTED WORK
05 / FREELANCE

AtlasBarber

A multi-chair barbershop needed online booking that won't double-book a barber, an admin calendar staff can actually run, and its Google reviews kept fresh on the site.

AtlasBarber public site Hero section showing the shop's Google rating.

// THE PROBLEM

The shop took appointments by phone and walk-in, juggling several barbers with no shared calendar and no online booking. They also wanted their Google reviews shown on the site without manually copying them. I built AtlasBarber to handle both — a public booking flow with real conflict prevention and an admin calendar — and to keep the reviews in sync automatically.

// WHAT I BUILT

  1. 01

    Public booking with conflict prevention — a partial unique index on barber and date stops double-bookings at the database, and barber vacation periods block unavailable days.

  2. 02

    Admin calendar with list and day views, per-barber filtering, manual appointment creation, and multi-slot blocking, scoped by role (barbers see only themselves; admins see all).

  3. 03

    Token-based cancellation by email — no account needed — valid until an hour before the appointment.

  4. 04

    An automated Google Reviews sync that pulls, dedupes, and curates reviews on a daily schedule.

  5. 05

    Multilingual UI (DE/EN/TR/AR) with confirmation and cancellation emails, plus a static-rendered public site for fast, SEO-friendly pages.

// THE INTERESTING PART

The Google Reviews sync is a small lifecycle engine, not a fetch loop. A daily cron pulls both the most-relevant and newest review sets, merges them by a hash of author and publish time to dedupe, and applies visibility rules (shown only at four-plus stars with real text) while keeping the rest on record. Reviews unseen for 90 days are soft-hidden, never deleted, and a cached stats document holds the live rating and count. The whole thing runs on two API calls a day — comfortably inside the free Places quota.

// IN THE PRODUCT

AtlasBarber admin calendar day view showing appointments across multiple barbers in 30-minute slots.
AtlasBarber public booking flow showing available time slots for a selected barber and service.
Atlasbarber public site reviews section showing a curated selection of Google reviews with star ratings and text.

// OUTCOME

// IMPACT

Live for the barbershop — conflict-free multi-barber booking, a role-aware admin calendar, and a self-maintaining Google Reviews wall, with a static-rendered public site for fast load and SEO.

// STACK

React 19 + Vite (vite-react-ssg), Express + TypeScript, MongoDB via Mongoose, JWT auth, node-cron, Nodemailer, i18next, Google Places API.