Game Mind
A tennis statistics platform that transformed how Venezuelan leagues evaluate players — replacing subjective analysis with 40+ objective statistics per match, real-time score tracking, and season-long player profiles, all through a Flutter mobile app published on the App Store and Play Store.
Data replaced guesswork in player development.
01100% digital league operations.
02Granular performance breakdowns never before available in Venezuelan tennis.
03Up to 100 daily active users during league finals, 600 total installs.
04The Problem
Tennis leagues in Venezuela relied entirely on subjective analysis — coaches and players evaluated performance based on memory and gut feeling. There was no way to track objective statistics across matches, see player trends over a season, or compare performance data. Player development was guesswork, and league management was chaotic.
The Solution
Full-stack developer and mobile engineer. I designed and built the entire platform from scratch — the Flutter mobile app for iOS and Android, the Node.js backend API with real-time WebSocket support, the PostgreSQL database with 28 relational models, and the React admin dashboard for league administrators.
Mobile App (iOS + Android)
Flutter app published on both App Store and Play Store. Allowed players, coaches, and fans to track matches in real time with 40+ statistics per player, follow live scores via WebSockets, and view season-long performance profiles with downloadable PDF reports.
Features
- Real-time match tracking with 40+ stats: serve %, aces, double faults, winners, errors, rally length by zone, net points, break points
- Full singles and doubles support with tiebreak and super-tiebreak logic
- Push notifications via Firebase Cloud Messaging for match results and league updates
- PDF stat export for sharing player performance reports
- First-run onboarding tutorial for new users
Tech
Backend API & Real-Time Engine
Node.js + Express REST API built with Domain-Driven Design. Handled authentication (JWT), league and tournament management, real-time match updates via Socket.io, file uploads to Cloudinary, email notifications, and push notification delivery through Firebase Admin SDK.
Features
- RESTful API with Swagger documentation across 3 DDD modules: leagues, tournaments, users
- Real-time match updates via Socket.io WebSocket hub — up to 100 concurrent users during finals
- JWT authentication with bcrypt password hashing
- League management: clubs, categories, seasons, journeys, teams, rankings
- Tournament system: knockout brackets, contests, participant tracking with full stats
- File uploads via Cloudinary and email notifications via Nodemailer
Tech
Admin Dashboard
React SPA built with Mantine UI for league administrators. Provided full CRUD over clubs, players, matches, tournaments, seasons, and ads — plus a home screen ad carousel management system.
Features
- Full CRUD for leagues: clubs, categories, seasons, journeys, players, teams
- Tournament management: contests, brackets, participant tracking
- Ad management: home screen carousel and club-level ads
- Match monitoring and pause/resume functionality
Tech
The Transformation
Player Evaluation
Coaches relied on memory and subjective impressions — there was no data to back up decisions about player development.
40+ objective statistics tracked per player per match with season-long trends and rankings.
League Management
Manual coordination of matches, standings calculated on paper or spreadsheets — error-prone and time-consuming.
Automated league system with clubs, categories, journeys, and real-time rankings.
Match Analysis
No record of match details beyond the final score — coaches had zero insight into how points were won or lost.
Point-by-point statistics: aces, double faults, serve %, winners, errors, rally length by zone.
Fan Engagement
No way to follow matches remotely — only people physically at the court knew what was happening.
Real-time WebSocket score updates during tournaments with push notifications.
What You Get
Objective Performance Tracking
Replaced subjective 'gut feeling' analysis with 40+ objective statistics per player per match — serve %, break points, rally length, net points, winners, and errors.
Real-Time Match Updates
Coaches and fans could follow live scores via WebSockets, enabling league-wide engagement. Reached up to 100 daily active users during tournament finals.
Season-Long Player Profiles
Aggregated stats across all matches in a season with performance trends, rankings, and downloadable PDF reports for players and coaches.
End-to-End League Management
Complete system for organizing leagues (clubs, categories, journeys) and knockout tournaments with automated bracket generation — 100% digital operations.