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