All projects
C
CourtBook NYC
Find and book basketball courts across New York City — 48 courts, real-time availability.
In Progress
Next.js 14TypeScriptSupabaseMapboxStripeTailwind CSS
Overview
CourtBook NYC is an interactive platform for discovering and booking basketball courts across all five NYC boroughs. It features a Mapbox-powered interactive map, Stripe payment integration for bookable indoor venues, a community runs board, and a seeded database of 48 courts sourced and categorized by neighborhood.
48
Courts
5
Boroughs
32
Pages
Key Features
- Interactive Mapbox map with clustering and neighborhood filtering across all five boroughs
- Stripe payment flow for bookable indoor venues with real availability tracking
- Community runs board — users can create and join pickup games at any court
- Seeded database of 48 courts with photos, surface types, amenities, and booking status
- 32 server-rendered pages with zero build errors and sub-second TTFB on Vercel Edge
What I Learned
react-map-gl v8 must import from react-map-gl/mapbox — the root import silently fails
Stripe client must be lazy-initialized to avoid build-time environment errors in Next.js
Seeding idempotently (upsert on name+borough) makes iterative development dramatically faster