Courtly
A tennis focused website and app that generates customized AI-powered training routines for players. Featuring personalized workout plans, adaptive difficulty based on player performance, and collectible medals for NYC area courts.
Technologies
React Native Expo React tRPC Authentication AI SDK AI Tool Calling Formatted AI Responses threeJS
Video Demo
Screenshots
Technical Overview
Key Features
- AI-powered workout generation using OpenAI GPT-4 with structured output parsing
- Cross-platform mobile app with native performance using Expo
- Real-time geolocation integration for court badges and stats
- 3D badge visualization system using Three.js with WebGL rendering
- Secure authentication flow with JWT tokens and refresh token rotation
Technical Challenges
- Implementing type-safe API communication between mobile and web clients
- Managing complex state synchronization between native and web platforms
Implementation
- tRPC procedures with Zod validation for runtime type checking and API contracts
- Custom AI prompt engineering with structured JSON schema for consistent workout formats
- Three.js scene optimization with LOD rendering and texture compression
- OAuth 2.0 implementation with secure token storage using Expo SecureStore
- Automated CI/CD pipeline with EAS Build for iOS and Android distribution