A Python-based desktop application for managing Olympic weightlifting competitions, built to control live meet flow, athlete attempts, timing rules, rankings, and results export.
Originally built for an in-house WL comp, where athlete weight, gender, and sinclair performance was not tracked.
I wanted to develop a WL meet controller which was not just another excel spreadsheet, was easy to use, and visually clearer.
This system was developed to manage a real in-house weightlifting competition, providing:
- Live attempt tracking
- Automatic lifter ordering
- Competition timing rules
- Session control
- Results export
- Real-time rankings
- Judge-friendly interface
- Athlete registration
- Snatch & Clean & Jerk phases
- Attempt tracking (3+3 attempts)
- Two-minute rule enforcement
- Automatic lifter queue ordering
- Live competition clock
- Global session timer
- Real-time ranking
- Visual state indicators
- CSV export for official results
- Fullscreen competition display
Prerequisites:
- Python 3.9+ (Tkinter is included with the standard Windows installer)
Run:
python meet.py- Python
- Tkinter GUI framework
- Event-driven architecture
- Timer-based scheduling
- Stateful application design
- Model–view separation
- CSV data export
- Desktop application design
- Launch the app and add 2-3 athletes
- Enter Snatch openers and start the session
- Mark Good/No Lift and confirm the current/next lifter updates
- Switch to C&J, verify the clock resets but the session timer continues
- Export CSV and verify file contents and ranking order
This system was used in a live competition environment for managing athlete flow, judging, timing, and result recording during an in-house Olympic weightlifting meet.
This project demonstrates:
- Real-world problem solving
- UI/UX design for operational tools
- Event-driven systems
- State management
- Application architecture
- Production-style tooling
