SportSync: A Simple Voice-Guided Sports Training Timer π₯β±οΈ
What I Built
For the DEV Weekend Challenge: Passion Edition, I built SportSync, a simple desktop application (can be converted into mobile application using React) that helps athletes stay focused during training sessions.
The idea came from a common challenge faced by many athletes: constantly checking the timer during workouts interrupts focus. SportSync acts as a personal workout assistant by guiding users through each activity with timed voice announcements, allowing athletes to concentrate on their training instead of the clock.
Although I initially designed the app with boxing in mind, it can be used for virtually any sport or fitness routine, including running, gym workouts, football, basketball, HIIT, and more.
Features
- β±οΈ Custom workout timer
- π Offline voice announcements for each activity
- β Create and save personalized workouts
- βΆοΈ Start, pause, resume, and skip activities
- πΎ SQLite database for storing workouts
- π Workout history
- π Simple, clean, beginner-friendly interface
Built With
- Python
- Tkinter
- SQLite
- pyttsx3 (Offline Text-to-Speech)
How I Built It
Since this was a weekend challenge, I wanted to make the most of my limited time.
I started by using AI as a brainstorming partner to refine my initial concept into a realistic project that could be completed within the challenge timeframe. Together, we planned the core features, discussed the overall structure, and simplified the idea into a practical minimum viable product (MVP).
Once the planning was complete, I spent the day building the application in Python. I implemented the interface with Tkinter, added workout management and data storage using SQLite, and integrated offline voice guidance with pyttsx3. Throughout development, I also used AI to help troubleshoot bugs, explain unfamiliar concepts, and speed up debugging, while making the implementation decisions and integrating the features myself.
This project was a great example of using AI as a development assistantβnot to replace the coding process, but to accelerate planning, problem-solving, and learning.
Why I Built It
As someone passionate about both sports and technology, I wanted to create something that solves a real problem I experience during training.
Many workout timer apps are either too complicated or focused on a single activity. My goal was to build a lightweight, customizable training companion that athletes from different sports could use without unnecessary distractions.
Challenges
Some of the biggest challenges included:
- Managing the timer logic smoothly.
- Synchronizing voice announcements with each activity.
- Organizing workout data using SQLite.
- Keeping the interface simple while still being functional.
- Completing the project within a single day.
What I Learned
This project helped me gain hands-on experience with:
- Building desktop applications using Python
- Designing user interfaces with Tkinter
- Working with SQLite databases
- Implementing offline text-to-speech
- Structuring projects into modular components
- Using AI effectively as a software development assistant
Future Improvements
Some features I'd love to add in future versions include:
- Weekly training planner
- User profiles
- Workout analytics and streak tracking
- Android version
- AI-generated personalized training plans
- Notifications and reminders
Demo
π₯ APP Demo:
[% embed https://drive.google.com/file/d/1RccJ8JVQKoItM9NUIklOXWoKjSvEBU2y/view?usp=sharing]
Source Code
π» GitHub Repository:
π₯ SportSync
SportSync is a simple voice-guided sports training timer built with Python. It helps athletes stay focused during workouts by providing timed voice announcements, customizable workout routines, and workout trackingβall in one lightweight desktop application.
Originally inspired by boxing training, SportSync can be used for any sport or fitness routine, including gym workouts, HIIT, football, basketball, running, cycling, and more.
β¨ Features
- β±οΈ Custom workout timer
- π Offline voice-guided workout announcements
- π Create and save custom workouts
- βΈοΈ Pause, Resume, Skip, and Restart workouts
- πΎ SQLite database for storing workouts
- π Workout history
- π Clean and beginner-friendly interface
π οΈ Built With
- Python
- Tkinter
- SQLite
- pyttsx3
π Project Structure
SportSync/
β
βββ main.py
βββ ui.py
βββ timer.py
βββ database.py
βββ voice.py
βββ requirements.txt
βββ README.md
βββ database/
π Getting Started
1. Clone the repository
git clone https://github.com/YOUR_USERNAME/SportSync.git
cd SportSync
2. Install dependencies
pip install -r requirements.txt
3. Run the
β¦Thank you for taking the time to explore my project! I'm always open to feedback and suggestions, and I hope SportSync can continue to grow into a useful tool for athletes across different sports.
Top comments (0)