André Izarra
Back to home
Case Study

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.

Key Results
Player Evaluation

Data replaced guesswork in player development.

01
League Management

100% digital league operations.

02
Match Analysis

Granular performance breakdowns never before available in Venezuelan tennis.

03
Fan Engagement

Up to 100 daily active users during league finals, 600 total installs.

04

The 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

My Role

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.

01

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

Flutter
Dart
Socket.io
Firebase
02

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

Node.js
Express
TypeScript
Socket.io
Sequelize
Postgresql
Heroku
03

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

React
TypeScript
Redux

The Transformation

Player Evaluation

Before

Coaches relied on memory and subjective impressions — there was no data to back up decisions about player development.

After

40+ objective statistics tracked per player per match with season-long trends and rankings.

Data replaced guesswork in player development.

League Management

Before

Manual coordination of matches, standings calculated on paper or spreadsheets — error-prone and time-consuming.

After

Automated league system with clubs, categories, journeys, and real-time rankings.

100% digital league operations.

Match Analysis

Before

No record of match details beyond the final score — coaches had zero insight into how points were won or lost.

After

Point-by-point statistics: aces, double faults, serve %, winners, errors, rally length by zone.

Granular performance breakdowns never before available in Venezuelan tennis.

Fan Engagement

Before

No way to follow matches remotely — only people physically at the court knew what was happening.

After

Real-time WebSocket score updates during tournaments with push notifications.

Up to 100 daily active users during league finals, 600 total installs.

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.

Tech Stack

Flutter
Node.js
TypeScript
Postgresql
Socket.io
Firebase
Docker
Heroku