Scrappers Cup - Tennis Ladder Management System
Full-stack web application for managing tennis tournament ladder rankings with poison ladder system, admin controls, and real-time match tracking.
About This Project
Developed a comprehensive tennis tournament management system featuring an innovative "poison ladder" ranking algorithm where winners move up to the loser's position, creating dynamic and engaging competition dynamics. The system provides a complete solution for tennis tournaments with sophisticated player management, match tracking, and automated ranking calculations. The application features a robust authentication system using email allowlists with role-based access control, distinguishing between regular viewers and administrators. The admin panel provides comprehensive tournament management capabilities including match result entry with detailed set-by-set scoring, tiebreaker handling, match history management with edit/delete functionality, and player lifecycle management. The core ranking system implements advanced algorithms for maintaining rank integrity, including automatic rank normalization to fix gaps and duplicates, timeline-based ranking reconstruction that replays all historical changes chronologically, and sophisticated conflict resolution when multiple rank adjustments occur. The system handles complex scenarios like player deactivation/reactivation while preserving ranking history. Key technical achievements include a mobile-first responsive design optimized for tournament officials using phones, real-time ranking updates after each match entry, comprehensive testing suite with unit tests for ladder logic and integration tests for complex scenarios, and robust error handling with graceful fallbacks. The platform maintains complete audit trails of all ranking changes and supports manual rank adjustments when needed. The system demonstrates strong software engineering practices with TypeScript for type safety, comprehensive test coverage using Vitest, modular component architecture, and efficient database design with proper foreign key relationships and constraints. Built to handle the complexities of real tournament management while maintaining data integrity and providing an intuitive user experience.