← Back to Projects

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

GymWhisper app: voice input and workout panel
Voice-powered interface: tap the microphone, describe your workout in natural language, and the app converts speech to structured exercise entries (sets, reps, weight) using the Gemini API.

Tech Stack

React 19 React Router (HashRouter) Google Gemini API react-speech-recognition Framer Motion Lucide React CSS (no framework) GitHub Pages

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.

← Back to Projects