Niloodan Yoga


Overview
Niloodan Yoga is Niloo's personal studio, a live Power Vinyasa class taught in Farsi for participants online or in person, capped at 30 people per class. The brief covered the full stack: bilingual marketing pages in German and Farsi, a live availability calendar showing every upcoming class date and remaining spots, a small bilingual blog with categories, and two German legal pages for the business registered as My Sportlady, Fitness für Frauen GmbH. Behind it sits a protected admin panel accessible only to an email address explicitly listed in an admins table, not just any signed-in Supabase user. From there, Niloo manages the full reservation queue, approves or rejects bookings, controls the weekly recurring schedule, and publishes bilingual blog posts. Every approval fires an email with a WhatsApp link so payment can be sorted without touching the site. Every rejection sends a brief, polite decline. If SMTP credentials are missing the system continues silently. Everything translated into Farsi with correct RTL layout, not run through machine translation.
Color System
A monochromatic foundation, seven steps from absolute black to white, anchored by three accent colors used only with full intent.
Bark
#2C2018
Walnut
#5C3D1E
Clay
#9B7055
Sand
#C8A882
Cream
#E8DDD0
Linen
#F4EDE4
Warm White
#FAF6F0
Accent: Use with intent
Terracotta
#C4662A
Ember
#A34E1C
Typography
Five type steps, each carrying a specific weight of meaning. From 96px display headlines down to 11px product labels.
Display
72px / Light
H1
40px / Regular
H2
24px / Regular
Body
15px / Light
Label
11px / Medium
Brand Voice
Six words that form the editorial backbone of every piece of writing. The brand speaks in short, certain sentences. No warmth for warmth's sake.
- Calm
- Grounded
- Bilingual
- Warm
- Precise
- Live
Spacing System
A fixed rhythm of eight values. Every element sits at a deliberate distance, nothing arbitrary, nothing accidental.
Feature: Reservation System
Booking queue with full admin control
When a visitor submits the booking form, a pending reservation is created and the admin receives an email with the full request. From the Reservations panel, the class can be approved or rejected with a single click — approval fires an email with a WhatsApp link so payment is sorted directly with Niloo; rejection sends a brief, polite decline. Bookings can also be edited or deleted without triggering email, for corrections that don't need notification. The list shows who, their contact info, which class and date, current status, and which language they booked in.

Reservations panel — 501 × 550px

Protected admin entry — 599 × 604px
Feature: Class Schedule
Recurring weekly slots with live capacity tracking
Each class slot is defined once — day of week, start and end time, capacity, online vs. in-person, and an optional start date for a slot that isn't bookable yet. The system generates upcoming dates automatically and shows how full each one already is. When a class fills to capacity it drops off the public calendar. The admin can edit or delete a slot at any time without touching code.

Schedule manager — 499 × 862px

Blog manager — 501 × 465px
Next project