Maria Ebrahimi
Maria Ebrahimi
  • Home
  • About
  • Experience
  • Services
  • Projects
  • Code Lab
  • Blog
Maria Ebrahimi
HomeAboutExperienceServicesProjectsCode LabBlog

Farial — Dance Class Booking Platform

Farial — Dance Class Booking Platform

Faryal — Dance Class Booking Platform

A bilingual class-booking site built for my sister's own dance studio, where she teaches Ariale. Built in three days with AI-assisted development, then reviewed, fixed, connected to Supabase, and deployed to a live custom domain.

ROLESolo Developer
STACKNext.js + TypeScript
PLATFORMWeb App
TIMELINE3 Days
Scroll to explore

Project Overview

// section.overview

01

A class-booking platform built for my sister's own studio

Faryal is a bilingual, two-sided booking platform I built for my sister's dance studio, where she teaches Ariale. On the public side, students can browse classes, see which sessions still have open spots, view studio address and class details, and register directly. On the admin side, she manages instructors, classes, and schedules herself — adding, editing, and removing sessions without any developer involvement. I built the entire project in 3 days by directing an AI through the architecture and scenario, then reviewing, fixing, and hardening its output myself before connecting it to Supabase, applying a custom theme, and deploying it to production on a custom domain.

A complete digital transformation for auto service centers
ROLESolo DeveloperBuilt end-to-end for a family member's studio
PLATFORMWeb AppPublic booking site + admin panel
STACKNext.jsTailwind CSS, Framer Motion, Supabase
GOALFast, Bilingual Booking PlatformReal studio, real launch, built in 3 days

Key Screens

// section.key.screens

02
Two products, one bilingual system
Every screen was built so students can book in seconds and the studio owner can manage everything herself.
Home Page
Class Schedule
Admin — Add/Edit Session
Session Registration
Studio & Class Details
Admin — Manage Classes
Language Switch (Bilingual)
Admin — Registrations Overview
Admin — Registrations Overview
Admin — Registrations Overview
Admin — Registrations Overview
Admin — Registrations Overview

Project Problem

// section.problem

03

Three days, one AI-assisted build, one real studio to serve

Faryal needed a working booking site fast — a real studio run by my sister, teaching Ariale, needed a public site where students could see open sessions and register, plus an admin panel she could run herself. I used AI to scaffold the entire project in a single day, then spent my own time reviewing, correcting, and hardening what it produced before it went live.
The site had to ship fast, without sacrificing code quality or long-term maintainability
Students needed to see real-time open session slots, not a static schedule
The studio owner needed to manage classes and schedules herself, with zero technical knowledge
The AI-generated first draft made every section a client component, hurting performance
The AI-generated draft used plain anchor tags instead of Next.js's own Link component
The project needed a real backend, a custom color theme, and production-grade deployment — not just a prototype

Stakeholder Needs

// section.stakeholder.needs

04
What the studio needed to succeed
Working directly with my sister — the studio owner and instructor — the core requirements were clear from day one.

A Simple Way for Students to See Open Sessions

Students needed to instantly see which class sessions still had open spots, along with the studio address and class details, without calling or messaging to ask.

Self-Service Registration

Students needed to register for a session directly on the site, removing the manual back-and-forth of booking a spot by phone or social media.

Full Admin Control Over Classes

As the instructor and owner, she needed an admin panel where she could add, edit, and remove classes and schedules herself, with no developer involvement.

Bilingual Support

The site needed to serve both Persian- and English-speaking students, with a smooth language switch across every page.

A Fast, Real Launch

This was a real business, not a demo — the site needed to go from idea to a live, working product on a custom domain as quickly as possible.

Customer Needs

// section.customer.needs

05
What students and the studio owner actually needed
Two very different users had to be served well by the same platform.
Students: a quick way to see which class sessions still have open spots
Students: clear studio address and class details before booking
Students: a simple, self-service way to register for a session
Students: a site that reads naturally in both Persian and English
Studio owner: an admin panel to add, edit, and remove classes and schedules herself

Design Process

// section.design.process

06

SCENARIO & STRUCTURE

Defined the scenario, project structure, and color theme for the AI to build from

AI-Assisted First Build

AI scaffolded pages, components, and the admin panel in a single day

Code Review & Fixes

Fixed unnecessary client components and replaced anchor tags with next/link

Supabase Integration

Connected classes, schedules, and registrations to Supabase

Admin Panel Build-Out

Class and schedule management for the studio owner

Customization & Testing

Applied theme, tested booking and admin flows end to end

Launch

Deployed on Vercel with environment variables, live on a custom domain

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
  1. SCENARIO & STRUCTURE

    Defined the scenario, project structure, and color theme for the AI to build from

  2. AI-Assisted First Build

    AI scaffolded pages, components, and the admin panel in a single day

  3. Code Review & Fixes

    Fixed unnecessary client components and replaced anchor tags with next/link

  4. Supabase Integration

    Connected classes, schedules, and registrations to Supabase

  5. Admin Panel Build-Out

    Class and schedule management for the studio owner

  6. Customization & Testing

    Applied theme, tested booking and admin flows end to end

  7. Launch

    Deployed on Vercel with environment variables, live on a custom domain

The Solution

// section.solution

07
How the platform went from AI draft to a live product

AI-Guided Scaffolding, Human-Directed Architecture

[01]

I handed the AI the exact scenario and project structure I wanted, including how pages, components, and the admin panel should be organized, rather than letting it decide the architecture on its own.

Correcting the AI's Blind Spots

[02]

The first pass turned every section into a client component and skipped Next.js's built-in Link component in favor of plain anchor tags. I went through the codebase and fixed both, restoring proper server rendering and client-side navigation.

Supabase-Backed Data and Admin Panel

[03]

I connected the project to Supabase for classes, schedules, and registrations, and built out the admin panel so the instructor can add, edit, and remove classes and sessions herself.

Custom Theme, Testing, and Real Deployment

[04]

I applied a custom color theme, tested every flow end to end, deployed to Vercel with the proper environment variables, and launched the site on a custom domain I set up for the studio.

Learning & Reflections

// section.learning.reflections

08
01

AI Speeds Up Scaffolding, Not Judgment

Giving the AI a clear scenario and project structure upfront meant the first draft was usable almost immediately — but every architectural and rendering decision still needed a human review pass.

02

Client Components Aren't the Default

The AI-generated draft made every section a client component. Going back through and converting what didn't need interactivity back to server components was a meaningful performance fix.

03

Small Details Like next/link Matter

Plain anchor tags instead of Next.js's Link component is an easy thing for AI-generated code to miss, and an easy thing to overlook if you don't already know what to look for.

04

A Real Backend Turns a Prototype Into a Product

Connecting Supabase and building out real admin functionality was what took the project from an AI-generated demo to something my sister could actually run her studio on.

05

Shipping Fast Doesn't Mean Skipping Deployment Basics

Even with a one-day build, proper environment variable management on Vercel and a real custom domain made the difference between a toy project and a live product.

06

Building for Someone You Know Raises the Bar

Knowing my sister would actually use this site to run her studio made every shortcut feel unacceptable — it pushed me to fix things I might otherwise have left for later.

Front-End Developer

Front-End Developer
maria ebrahimi profile picture

Let's Talk

Ready to build something great together?

I'm currently available for new opportunities and exciting projects.
Feel free to reach out — I usually reply within 24 hours.

© 2026 Maria Ebrahimi— Designed & built with care. · Become a writer · Privacy Policy