Skip to content
Nachi3D Labs

WorkBaby Club Essaouira

Baby Club Essaouira

Live

Booking, workshop calendar and small shop for a parent-and-baby creative club.

ClientBaby Club Essaouira
Year2026
Baby Club Essaouira — home page hero
Baby Club Essaouira — screenshot 1

Overview

The Project

Parents create an account, add their children, and book a spot in a Saturday workshop at Dar Souiri. The club admin runs everything from a mobile-first admin area: creating each session with a theme, description and photos, checking the attendee list on a phone at the venue, marking who showed up, and crediting session passes after cash payment. A small shop sells the activity kits made in the workshop — laser-engraved wooden frames, coloured sand — ordered over WhatsApp rather than online checkout.

Two decisions shaped the build. First, no payment gateway: Stripe doesn't onboard Moroccan merchants and CMI is heavy bureaucracy for a club with eight seats a week, so passes are sold in person and credited by hand. Second, booking capacity lives in a Postgres function with row locking, never in the app — an overbooked session with real babies is a worse failure than a slow one. The admin is mobile-first because it's used standing up, in a courtyard, with a baby on one hip.

Stack

Next.js 15
TypeScript
Supabase
Tailwind v4
Resend
GSAP
next-intl
Playwright
Vercel

Key features

What it does

Capacity-safe booking via a locking Postgres RPC, pass credits debited and refunded in the same transaction
Admin session management: create, duplicate last week's, bulk publish/cancel, attendee list with WhatsApp links
Child photo privacy: per-child parental consent, server-enforced blur gate, EXIF stripped, members-only galleries
Pass system (single, 4, 8, monthly) credited after cash payment, with a full admin audit log
Shop with configurable product attributes, ordered via prefilled WhatsApp message
Installable PWA, bilingual FR/EN, booking confirmations and day-before email reminders

This project uses the Custom Apps service.

All work

Want something like this built for you?

Tell me what you'd like to build and we'll see if it fits.