Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💪 FitBuddy — Your Terminal Fitness Coach

A lightweight, interactive fitness chatbot powered by Gemini and LangChain. Designed to offer personalized fitness tips, workout plans, and health advice right from your terminal.

Python LangChain Gemini CLI


📸 Demo

Will be adding Streamlit Interface soon...


🚀 Features

  • 🤖 Conversational fitness chatbot using Google Gemini via LangChain
  • 🧠 Prompt engineering for structured and helpful replies
  • 🎨 Beautiful terminal UI with Rich and Colorama
  • 🏋️ Personalized workout, nutrition, cardio & recovery plans
  • 📝 Clean prompt templates for consistent output
  • 🔄 Continuous chat mode until user exits
  • 📦 Simple Python dependency setup with uv

🛠️ Tech Stack

  • Python 3.10+
  • LangChain
  • Gemini (Google Generative AI)
  • Rich & Colorama (for terminal formatting)
  • dotenv (for managing API keys securely)

📂 Project Structure

FITNESS_CHATBOT/
├── main.py                # Entry point - CLI chat loop
├── prompts.py             # Prompt template creation & parser
├── pyproject.toml         # Project metadata and dependencies
├── README.md              # Project documentation
├── requirements.txt       # List of dependencies
├── test_bot.py            # (Optional) Test script
├── .gitignore             # Git ignore

⚙️ Setup Instructions

1️⃣ Clone the Repo

git clone https://github.com/SwayamAg/fitbuddy.git
cd fitbuddy

2️⃣ Install Dependencies (using uv)

uv venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
uv pip install -r requirements.txt

3️⃣ Set Up .env

Create a .env file with your Gemini API key:

GOOGLE_API_KEY=your_api_key_here

4️⃣ Run the App

python main.py

🧠 Example Commands

🟣 You: give me a push-pull workout plan  
🟣 You: what should I eat to lose fat and build muscle  
🟣 You: how often should I do cardio  

🧼 Terminal Output Preview

💪 FitBuddy 💪

Hello there! How can I help you today?

🟣 You: suggest a beginner workout

✅ FitBuddy:
🏋️ Workout Plan (Full Body, 3x/week):
- Squats
- Push-ups
- Dumbbell Rows
...

📦 Dependencies (from requirements.txt)

langchain
langchain-google-genai
python-dotenv
rich

⚡ Keep it lean! No unnecessary bloat.


✨ Credits


🏁 Future Ideas

  • 💾 Save conversation history
    Keep a log of your chats for future reference and progress tracking.

  • 📄 Export fitness plans as PDF
    Download your personalized workout or nutrition plans as a neat PDF.

  • 🌐 Web or Streamlit interface
    Use FitBuddy with a modern web UI for a richer experience.

  • 👤 User profile system
    Track your fitness goals, preferences, and progress


🤝 Contributing

Contributions, suggestions, and improvements are welcome!
If you'd like to contribute, please fork the repository and submit a pull request.

For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/YourFeature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/YourFeature)
  5. Open a pull request

Thank you for helping


📜 License

This project is licensed under the MIT License.

About

A terminal-based AI fitness chatbot that gives personalized workout plans, nutrition tips, and health advice using Gemini and LangChain. Fast, interactive, and easy to use!

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages