Buddy AI is an advanced full-stack AI-powered personal assistant that combines natural language processing and intelligent command interpretation. Built with Flask backend and React TypeScript frontend, it offers seamless voice interactions and smart automation capabilities.
- Voice Recognition & Speech Synthesis: Natural voice interactions with gTTS (development mode)
- Intelligent Command Processing: Advanced pattern matching and AI-driven command interpretation
- Dynamic Web Navigation: Smart website opening with context-aware platform selection
- Real-time System Monitoring: CPU, memory, battery, and disk space monitoring using Psutil
- AI-Powered Conversations: Powered by Google Gemini AI for natural conversations
- Production-Ready API: Flask backend with CORS support and serverless deployment
- Smart Search: Automatically chooses optimal platforms (YouTube, Google, Stack Overflow, GitHub)
- Direct Website Access: 30+ popular websites with intelligent URL resolution
- Context-Aware Searches: "Python tutorials" β YouTube, "JavaScript error" β Stack Overflow
- Real-time System Information: Battery, memory, CPU, and disk monitoring
- Application Management: Launch applications with smart detection
- Cross-platform Support: Windows, macOS, and Linux compatibility
- Weather Services: Real-time weather via OpenWeatherMap API (optional)
- News Updates: Latest news via News API integration (optional)
- Mathematical Calculations: Complex calculations and unit conversions
- REST API: Flask with CORS support and health monitoring endpoints
- AI Integration: Google Gemini AI for conversational capabilities
- External APIs: Weather, News, and location services (optional)
- System Monitoring: Real-time metrics using Psutil
- Audio Processing: gTTS for development environments (disabled in production)
- Environment Management: Production and development configurations
- Modern UI: React 18 with TypeScript and Tailwind CSS
- Voice Interface: Web Speech API integration for voice commands
- Real-time Chat: Interactive conversation interface with typing indicators
- Responsive Design: Mobile-first design with adaptive layouts
- Quick Commands: Pre-built shortcuts for common tasks
- Backend: Production-ready Flask app with serverless compatibility
- Frontend: Static build optimized for CDN deployment
- Environment Configuration: Separate dev/production settings
- Python 3.11+ with Flask 3.1.0
- Google Generative AI for Gemini integration
- gTTS for text-to-speech (development only)
- Psutil for system monitoring
- Requests & BeautifulSoup for web scraping
- Flask-CORS for cross-origin support
- React 18 with TypeScript
- Tailwind CSS for styling
- Vite for build tooling and development server
- Web Speech API for voice recognition
- Google Gemini AI (required)
- OpenWeatherMap API (optional)
- News API (optional)
- Python 3.8+
- Node.js 16+
- Google Gemini AI API Key
-
Clone the repository
git clone https://github.com/pkparthk/Buddy-AI.git cd Buddy-AI -
Set up the backend
# Install Python dependencies pip install -r requirements.txt # Create environment file cp .env.example .env
-
Configure API Keys Copy the example environment file and add your API keys:
# Copy the template cp .env.example .envEdit
.envfile and add your API keys:GEMINI_API_KEY=your_gemini_api_key_here OPENWEATHER_API_KEY=your_openweather_api_key_here # Optional NEWS_API_KEY=your_news_api_key_here # Optional FLASK_ENV=development
-
Set up the frontend
cd my-app npm install
-
Start the backend server
python api.py
-
Start the frontend (in a new terminal)
cd my-app npm run dev -
Access the application Open your browser and go to
http://localhost:5173
"Hey Buddy, open YouTube"
"Search for machine learning tutorials"
"What's the weather in Mumbai?"
"Open Visual Studio Code"
"What's my battery level?"
"Calculate 25 * 67"
"Search Python error on Stack Overflow"
"Open GitHub and search React"
"Check CPU usage"
"What's my memory status?"
"Show disk space"
"Battery information"
"Open Gmail"
"Go to Facebook"
"Visit Instagram"
"Launch Netflix"
"Open Google Drive"
- Google Gemini AI: For natural language processing
- Get your key at: https://makersuite.google.com/app/apikey
- OpenWeatherMap: For weather information
- Get your key at: https://openweathermap.org/api
- News API: For news updates
- Get your key at: https://newsapi.org/
Buddy-AI/
βββ api.py # Flask REST API server with CORS
βββ main.py # Core voice processing and TTS logic
βββ model.py # Enhanced Gemini AI integration
βββ enhanced_commands.py # Advanced command processing engine
βββ external_apis.py # Weather, news, and location APIs
βββ requirements.txt # Python dependencies
βββ .env.example # Environment variables template
βββ render.yaml # Render deployment configuration
βββ COMPLETE_DEPLOYMENT_GUIDE.md # Comprehensive deployment guide
βββ DEPLOYMENT_CHECKLIST.md # Deployment checklist
βββ my-app/ # React TypeScript frontend
βββ src/
β βββ components/
β β βββ BuddyAI.tsx # Main AI interface component
β β βββ ui/ # Reusable UI components
β βββ App.tsx # Root React component
βββ package.json # Frontend dependencies
βββ tailwind.config.js # Tailwind CSS configuration
βββ vite.config.ts # Vite build configuration
βββ vercel.json # Vercel deployment settings
- Backend:
python api.py(runs on http://localhost:5000) - Frontend:
npm run dev(runs on http://localhost:5173)
- Backend: Deploy to serverless platforms (Render, Railway, etc.)
- Frontend: Deploy to CDN platforms (Vercel, Netlify, etc.)
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π₯ Demo Video - See the complete voice interaction experience!
This project is open source and available under the MIT License. As a student project, feel free to use, modify, and learn from this code. If you use this project or parts of it, please provide attribution by linking back to this repository.
Note: This project uses external APIs (Google Gemini AI, OpenWeatherMap, News API) that may have their own terms of service and usage limits.
- Email: 0xparthk@gmail.com
- GitHub: pkparthk
π Transform your computer interaction with Buddy AI - Your intelligent personal assistant powered by cutting-edge AI technology!
Built with β€οΈ by Parth Kothari