Developer: Nidal Al-Ramahi
StatKick is a full-stack web platform designed to display football statistics, news, and highlights while offering an experimental computer-vision feature for video-based player tracking.
The project integrates a React.js frontend, a Node.js backend, and a Python-based module for object detection and team assignment in football videos. It demonstrates real-world application development combining web technologies and artificial intelligence.
The main goal of StatKick is to create an intelligent and interactive platform that unites football data, news, and computer-vision analysis in one environment.
StatKick aims to:
- Demonstrate full-stack engineering skills
- Integrate APIs for real-time sports data
- Explore AI techniques applied in football analytics
- Deliver a clean and modern user interface
The system is structured into three main layers:
- Built as a Single Page Application (SPA) using React Router
- Tailwind CSS used for glassmorphic and responsive design
- Displays teams, competitions, matches, and football news
- Communicates with backend via REST API using Axios
- RESTful API serving structured JSON data
- Endpoints for competitions, teams, and players
- Integrates GNews API for football news
- Integrates ScoreBat API for match highlights
- Handles static files and provides lightweight data storage
- Experimental YOLO-based detection model
- Detects players, referees, goalkeepers, and the ball
- Annotates uploaded videos with color-coded bounding boxes
- Returns processed video via backend endpoint
| Feature | Description |
|---|---|
| Interactive UI | Clean glassmorphic design with Tailwind CSS |
| Football Data Integration | Displays competitions, teams, and players info |
| Live News & Highlights | Fetches football updates via APIs |
| Video Analysis Tool | Detects players and referees in uploaded videos |
| Responsive Design | Works smoothly on desktop and mobile devices |
- Browse Football Data – Access teams, players, and competition information
- View News & Highlights – See football-related articles and match clips via GNews & ScoreBat APIs
- Upload and Analyze Videos – Upload a match clip → detect players/referees/ball → view annotated output
Frontend: React.js · Tailwind CSS · Axios · React Router
Backend: Node.js · Express.js · JSON Storage
APIs: GNews API · ScoreBat API
Computer Vision: Python · OpenCV · YOLO
Tools: Git/GitHub · VS Code · Postman · Figma
StatKick/
│
├── frontend/ → React.js web app
│ ├── src/
│ │ ├── components/ → UI Components
│ │ ├── pages/ → App Pages (Home, Teams, etc.)
│ │ ├── assets/ → Images, icons, videos
│ │ └── App.jsx
│ └── tailwind.config.js
│
├── backend/ → Node.js server
│ ├── routes/ → API endpoints
│ ├── data/ → JSON data (teams, players, etc.)
│ └── server.js
│
├── vision/ → Python module for video analysis
│ └── detect_players.py
│
└── README.md → Project documentation
- The user opens the platform in a browser.
- The frontend requests football data from the Node.js backend.
- The backend serves data and external API results (news and highlights).
- When a video is uploaded, it’s sent to the Python layer.
- The vision module detects players, assigns teams, and returns an annotated video.
- The annotated video and analysis results are displayed interactively on the web interface.
- Theme: Glassmorphism with subtle shadows and blur effects.
- Colors: Clean white/dark contrasts with transparent layers.
- Responsive Layout: Optimized for mobile and desktop screens.
- Animations: Smooth transitions and hover effects using Tailwind CSS.
The demo version of StatKick includes:
- An interactive homepage with football-themed visuals.
- Organized grids for competitions and teams.
- Real-time news and match highlights via integrated APIs.
- A functional video analysis interface for uploading and viewing annotated clips.
The computer vision module demonstrates object detection for players, referees, and the ball, marking each entity with color-coded bounding boxes and labels.
This provides an engaging and data-driven way to visualize football match dynamics.
- Connect to a full database (e.g., MongoDB or PostgreSQL).
- Deploy the entire app online (Vercel, Render, or Railway).
- Add user authentication and personal dashboards.
- Include match statistics and advanced visualizations.
- Enhance video analysis with improved AI and tracking algorithms.
- Enable multi-user uploads, sharing, and community interaction.
Through building StatKick, I gained:
- Advanced skills in frontend and backend web development.
- Practical experience integrating RESTful APIs.
- A better understanding of modular project architecture.
- Improved time management and project planning.
- Deeper insight into applying AI and computer vision to sports analytics.
StatKick merges software engineering, data integration, and artificial intelligence to deliver a smart and modern platform for football analysis.
It demonstrates the potential of combining web technologies with AI-powered computer vision to create immersive, data-rich user experiences.
This project reflects technical capability, creativity, and a deep understanding of real-world application design — bridging the gap between technology and sports intelligence.