Player Two

BookingsPaymentsSupabase

Home — find a player, find a pro, book a court
Player profile — rating, reliability, and an AI-generated headshot
Discovery — players sorted by match quality

Player Two is a verified tennis identity and reputation platform. UTR tells you how good someone is; Player Two tells you whether you want to play with them — a public profile of peer ratings, match history, and reliability, with discovery and messaging layered on top.

Solo founder of the whole product: the player-facing, low-friction web app, and the club-staff portal operators use to run a venue. The portal carries the hard parts — a bookings calendar with sweep-line conflict detection, trigram member search, a provider-agnostic transactions ledger as the source of truth, a pricing engine of eight evaluators locked to a 31-scenario parity test, thirteen exportable reports, and manifest-driven provisioning that ships each club as data, not a code fork.

AI runs through the player-facing side. A portrait studio built on fal.ai turns a phone selfie and a few outfit choices into three studio-grade tennis headshots, background removed and ready to wear — rate-limited and paywalled. Claude Haiku writes each player's profile summary from their real match record, never invented. And every avatar and username clears image and text moderation before it goes live.

Currently beginning pilots with tennis clubs in NYC.

Credits

  • Alex Nguyen
    Sole developer — product, design & engineering
readyplayertwo.app

Stack

Frontend
Remix · React 19 · Next.js 15
Mobile
React Native · Expo
Backend
Supabase · PostgreSQL
AI
fal.ai headshots · Claude Haiku · OpenAI moderation
Payments
Stripe
Search
Postgres pg_trgm · GIN