
I recently participated in the Hugging Face Build Small Hackathon with a project called YourGymBuddy, a privacy-focused AI fitness coach designed to work with small language models and local-first execution.
The project started almost by accident. I was testing a newly released small model with a friend, using raw gym logs and workout routines to see whether it could understand training progression, volume, rest intervals, and exercise patterns. While doing that, I discovered the Build Small Hackathon and realized that the idea matched perfectly with the spirit of the event: building useful AI applications with small, efficient models. I registered just before the deadline, and that last-minute sprint became the beginning of YourGymBuddy.
The goal of the project was to create an AI assistant that could help users analyze their workout history and receive practical fitness insights. Instead of depending only on large cloud models, I wanted to explore how much could be done with smaller architectures that are easier to run locally, more efficient, and better aligned with privacy.
For the technical foundation, I designed the project around llama.cpp and GGUF compatibility, so the models could be used locally through tools like llama.cpp or Ollama. I experimented with several models, including Gemma 4 12B for stronger reasoning, MiniCPM 1B as an ultra-lightweight option, Nemotron Nano 4B to test compact edge capabilities, and Cohere’s transcription model to support voice input.
A key part of the project was localization. Since I am based in Colombia, it was important that YourGymBuddy could understand and respond naturally in Spanish. Many small models struggle with localized fitness language, so I created a synthetic dataset with Spanish fitness interactions. This dataset was designed to teach the models how to interpret workout volume, rest periods, muscle groups, and training-related questions in Spanish.
The fine-tuning pipeline was another important part of the experience. My initial experiments happened locally, but the training workflow was executed in the cloud using Modal. I built an automated pipeline that used Optuna for hyperparameter optimization before fine-tuning the models. After training, the models were exported and converted into GGUF format, making them ready for local inference.
Deployment also came with challenges. Running everything on Hugging Face Spaces required some adjustments. I encountered dependency issues when trying to deploy the fine-tuned Nemotron model, and CPU-only GGUF inference was too slow for a good user experience. Because of that, I pivoted the live demo to use ZeroGPU support and focused on making the Space stable and responsive. The live version serves as a showcase, while the ideal experience remains local execution, where users can run the full setup on their own computer and keep their personal health data offline.
Today, YourGymBuddy can ingest exported .csv workout data from apps like Hevy, support sample data for testing, provide AI-driven workout insights, and accept voice input through speech-to-text transcription. The next steps are to expand support for more fitness apps and continue improving the user experience, especially for mobile use in the gym.
Participating in the Hugging Face Build Small Hackathon was a great learning experience. It pushed me to think carefully about efficiency, privacy, localization, deployment constraints, and the real potential of small models. YourGymBuddy showed me that useful AI applications do not always need to rely on the largest possible model. With good data, thoughtful design, and the right tools, small models can become practical, personal, and powerful assistants.
This project also reflects the way I want to build AI tools: responsibly, transparently, and with respect for user privacy. YourGymBuddy is not just a hackathon submission; it is an experiment in making AI more useful, local, and accessible.