GymWhisper — Voice-Powered Workout Tracking
Hands-free workout logging through natural language voice input. Users tap a microphone, describe their workout in spoken words, and the app converts speech into structured workout data using AI — all running in the browser.
Problem & Context
Gym users often need to log exercises while at the gym without typing on their phone. The goal is to enable hands-free workout logging through voice input, converting natural language descriptions into structured workout data (exercise type, reps, weight) using AI. The project demonstrates how modern web APIs (speech recognition) can be combined with AI services (Google Gemini) to create intuitive, privacy-focused user experiences — all client-side with no backend persistence.
What It Does
- Voice-based workout input using browser speech recognition API for hands-free logging
- AI-powered transcription and parsing via Google Gemini API, converting natural language into structured CSV workout data
- Bilingual support with language toggle (English/French)
- Animated microphone interface with visual feedback during recording sessions
- Workout panel for reviewing, editing, and finalizing workout entries before export
- Workout history page for viewing past sessions and generating AI-powered performance reports
- Client-side only application with no backend dependencies
- Responsive design optimized for mobile and desktop
Tech Stack
Architecture / How It Works
The application is a single-page application (SPA) using React Router with HashRouter for GitHub Pages compatibility. All workout data is stored in React state and localStorage — there is no backend database. The frontend uses the Web Speech API for voice capture, then sends transcribed text to the Gemini API for structured parsing into exercise metadata (type, sets, reps, weight).
Key Takeaways
This project showcases AI integration in frontend applications — how combining speech recognition with LLMs can create intuitive, hands-free interfaces. Operating entirely client-side keeps the app lightweight and privacy-focused, while the bilingual and mobile-first design demonstrates attention to accessibility and real-world use cases.