← All projectsII.3 · 2026
Tennis Court Booking
حجز ملاعب التنسThe front desk of a four-court tennis club: the day’s courts, members, coaches and rain

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- A court sheet: every court in its own column, and any free half hour is one click from a booking
- Members and guests, each with their own price and how far ahead they can book
- Lessons that book a coach with the court, and never the same coach twice at once
- A rain-out that moves who it can to covered courts and messages everyone else
- 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

Court sheet (mobile) 
Coach picker and member rate (mobile) 
Rain-out plan (mobile)






