← All projectsII.3 · 2026

Tennis Court Booking

حجز ملاعب التنس

The front desk of a four-court tennis club: the day’s courts, members, coaches and rain

Open the demo
Tennis Court Booking: Court sheet — four courts, lessons and members
Court sheet — four courts, lessons and members

Built for how a tennis club actually runs. Staff work from a court sheet with every court side by side, members pay their own rate and can book further ahead, lessons book a court and a coach together, and when rain comes one screen moves players onto covered courts or cancels them and lines up a message for each. It started from the academy staff portal and grew into its own product.

What it does
  1. A court sheet: every court in its own column, and any free half hour is one click from a booking
  2. Members and guests, each with their own price and how far ahead they can book
  3. Lessons that book a coach with the court, and never the same coach twice at once
  4. A rain-out that moves who it can to covered courts and messages everyone else
  5. A look of its own: a forest-green sidebar, a scoreboard for the day’s numbers, and court colours for availability
My part
Designed and built it
Made for
personal
Built with
Next.js 16React 19TypeScriptTailwind 4Cloudflare Workers (OpenNext)Cloudflare D1Recharts
Platforms
web, mobile-web
Arabic · right-to-left
  • Tennis Court Booking: Court sheet (mobile)
    Court sheet (mobile)
  • Tennis Court Booking: Coach picker and member rate (mobile)
    Coach picker and member rate (mobile)
  • Tennis Court Booking: Rain-out plan (mobile)
    Rain-out plan (mobile)
Tennis Court Booking: Booking a lesson for a member
Booking a lesson for a member
Tennis Court Booking: Coaches and their day
Coaches and their day
Tennis Court Booking: Rain-out plan
Rain-out plan
Tennis Court Booking: Owner view — court hire vs lessons
Owner view — court hire vs lessons
Tennis Court Booking: Member profile
Member profile
Tennis Court Booking: Shared court heatmap
Shared court heatmap
Tennis Court Booking: Dashboard
Dashboard