AI-Powered Sports Technique Analysis with Real-Time Pose Detection
SportTrack.ai is a cutting-edge web application that analyzes sports performance videos using advanced AI pose detection. Upload a video of athletic performance and receive instant feedback with skeletal overlay visualization and technique analysis.
- 33-Point Pose Detection: Advanced MediaPipe AI tracks every major body landmark
- Real-Time Video Overlay: Skeletal connections drawn on original video frames
- Side-by-Side Comparison: View original and analyzed videos simultaneously
- Interactive Parameter Tuning: Fine-tune detection settings for optimal results
- British English Interface: Localised for UK/EU users
- Adjustable Detection Sensitivity: Control how picky the AI is about pose detection
- Movement Tracking Options: Optimise for fast movements vs stability
- Processing Speed vs Accuracy: Choose based on your needs and hardware
- Troubleshooting Tips: Built-in guidance for common issues
- SportTrack.ai Branding: Official yellow colour scheme and logo
- Responsive Design: Works seamlessly on desktop and mobile
- Drag & Drop Upload: Intuitive file upload with progress tracking
- Progressive Enhancement: Graceful degradation for older browsers
The fastest way to get started:
# Clone the repository
git clone https://github.com/fuzzylabs/sporttrack-ai.git
cd sporttrack-ai
# Run the quick start script
chmod +x start.sh
./start.shOpen your browser to http://localhost:8000
-
Clone the repository:
git clone https://github.com/fuzzylabs/sporttrack-ai.git cd sporttrack-ai -
Quick start:
chmod +x start.sh ./start.sh
-
Open your browser: Navigate to
http://localhost:8000
Using uv (recommended for faster installation):
# Install uv if not already installed
pip install uv
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync
# Run application
python3 app.pyOr using pip:
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run application
python3 app.py- π€ Upload: Drag and drop your sports video (MP4, AVI, MOV, MKV)
- π€ AI Analysis: MediaPipe processes each frame to detect body landmarks
- π¨ Visualisation: Skeletal overlay applied with green landmarks and red connections
- π Metrics: Real-time confidence scores and technique analysis
- π§ Tuning: Adjust parameters based on your specific sport and conditions
| Use Case | Description | Benefits |
|---|---|---|
| Sports Coaching | Analyze athlete technique frame-by-frame | Objective feedback, identify improvement areas |
| Self-Training | Review your own performance | Track progress, perfect technique |
| Biomechanics Research | Study human movement patterns | Quantitative analysis, research data |
| Injury Prevention | Identify improper form | Reduce injury risk, improve safety |
| Performance Analysis | Compare techniques over time | Measure improvement, optimize training |
The application includes an advanced parameter tuning interface with user-friendly explanations:
| Parameter | What It Does | When to Adjust |
|---|---|---|
| Detection Sensitivity | How easily the AI finds your body | Lower for difficult lighting/angles |
| Movement Tracking | How well it follows fast movement | Lower for rapid sports like tennis |
| Processing Speed | Accuracy vs performance trade-off | Higher for detailed analysis |
| Landmark Clarity | How clear body points must be | Lower when partially obscured |
| Pose Completeness | How many points needed for valid pose | Lower for partial visibility |
| Stability Requirement | How consistent poses must be over time | Lower for quicker detection |
- Poses appearing too late? β Lower "Stability Requirement" and "Pose Completeness"
- Too many false poses? β Increase "Detection Sensitivity" and "Landmark Clarity"
- Losing tracking during fast movement? β Lower "Movement Tracking"
- Need more detail? β Set "Processing Speed" to "Slow but very accurate"
- Python 3.9+ with Flask web framework
- MediaPipe for AI pose detection (33 landmarks)
- OpenCV for video processing and overlay generation
- NumPy for numerical computations
- HTML5 with semantic markup
- CSS3 with custom properties and grid layouts
- Vanilla JavaScript for interactions and real-time updates
- Responsive Design with mobile-first approach
- Flask web server for local/server deployment
- H.264 video encoding for browser compatibility
- Progressive Enhancement for accessibility
sporttrack-ai/
βββ π Backend
β βββ app.py # Flask web application
β βββ pose_processor.py # MediaPipe pose detection engine
β βββ requirements.txt # Python dependencies (pip)
β βββ pyproject.toml # Project configuration (uv)
βββ π¨ Frontend
β βββ templates/index.html # Main web interface
β βββ static/css/style.css # SportTrack.ai styling
β βββ static/js/main.js # Frontend interactions
β βββ static/Asset-3@4x.png # Official SportTrack.ai logo
βββ π Storage
β βββ static/uploads/ # Uploaded video storage
β βββ static/processed/ # Processed video output
βββ π Deployment
β βββ start.sh # Quick startup script
β βββ .gitignore # Git ignore rules
βββ π Documentation
βββ README.md # This file
βββ CLAUDE.md # Development documentation
| Browser | Version | Status |
|---|---|---|
| Chrome | 80+ | β Full Support |
| Firefox | 75+ | β Full Support |
| Safari | 13+ | β Full Support |
| Edge | 80+ | β Full Support |
- CPU-Optimised: No GPU dependencies, runs on any modern computer
- Real-Time Processing: 30+ FPS pose detection
- Efficient Encoding: H.264 compression for smaller file sizes
- Progressive Loading: Handles large video files gracefully
We welcome contributions! Please see our development documentation for detailed information about:
- Development setup and guidelines
- Code standards and testing
- Architecture and design decisions
- Future enhancement plans
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Install dependencies:
uv syncorpip install -r requirements.txt - Make your changes and add tests
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
This project is proprietary software developed for SportTrack.ai. All rights reserved.
- Local Processing: Videos processed locally, not stored permanently
- No Data Collection: No personal information collected or stored
- Secure Upload: File validation and size limits prevent abuse
- Auto Cleanup: Temporary files automatically removed after processing
- Issues: GitHub Issues
- Documentation: CLAUDE.md
- Website: SportTrack.ai
SportTrack.ai - Revolutionising sports technique analysis with AI
π Website β’ π Docs β’ π Python
Made with β€οΈ for athletes and coaches worldwide