A full-stack AI agent application with multiple tools including calculator, weather, web search, notes, and datetime utilities. Built with FastAPI backend and React frontend.
- 🧮 Calculator - Mathematical operations and currency conversions
- 🌤️ Weather - Real-time weather information via OpenWeatherMap
- 🔍 Web Search - Internet search using Tavily/SerpAPI
- 📝 Notes - Persistent note storage and retrieval
- 🕐 DateTime - Time and date operations with timezone support
- 💬 Conversational AI - Powered by Groq (Llama 3.3 70B)
- 🎨 Modern UI - Clean, responsive React interface with Tailwind CSS
- Python 3.8+
- Node.js 18+
- API Keys (see Configuration)
1. Clone the repository
git clone https://github.com/Emart29/ai-agent-toolbox.git
cd ai-agent-toolbox2. Run setup script
Windows:
setup.batLinux/Mac:
chmod +x setup.sh
./setup.sh3. Configure API keys
Edit backend/.env and add your API keys:
GROQ_API_KEY=your_groq_api_key
TAVILY_API_KEY=your_tavily_api_key
OPENWEATHER_API_KEY=your_openweather_key
# ... other keys4. Start the application
Terminal 1 - Backend:
cd backend
source venv/bin/activate # Linux/Mac
# or: venv\Scripts\activate # Windows
uvicorn app.main:app --reloadTerminal 2 - Frontend:
cd frontend
npm run dev5. Open your browser
Visit: http://localhost:5173
-
Groq API (Required) - https://console.groq.com/keys
- Free tier available
- Used for LLM inference
-
Tavily API (Required) - https://tavily.com/
- Free tier: 1000 searches/month
- Primary web search provider
-
OpenWeatherMap - https://openweathermap.org/api
- Free tier: 1000 calls/day
- For weather information
-
Fixer.io - https://fixer.io/
- Free tier: 100 requests/month
- For currency conversion
-
SerpAPI - https://serpapi.com/
- Free tier: 100 searches/month
- Fallback web search
┌─────────────────────────────────────────┐
│ React Frontend (Vite) │
│ - Chat Interface │
│ - Real-time Updates │
│ - Responsive Design │
└─────────────────────────────────────────┘
↕ HTTP/REST
┌─────────────────────────────────────────┐
│ FastAPI Backend Server │
│ - RESTful API │
│ - CORS Middleware │
│ - Request Validation │
└─────────────────────────────────────────┘
↕
┌─────────────────────────────────────────┐
│ AI Agent Orchestrator │
│ - LangChain Integration │
│ - Tool Selection │
│ - Response Generation │
└─────────────────────────────────────────┘
↕
┌─────────────────────────────────────────┐
│ Tools Layer │
│ Calculator | Weather | Web Search │
│ Notes | DateTime │
└─────────────────────────────────────────┘
- FastAPI - Modern Python web framework
- LangChain - AI agent framework
- Groq - LLM API (Llama 3.3 70B)
- SQLAlchemy - Database ORM
- Uvicorn/Gunicorn - ASGI server
- React 19 - UI library
- Vite - Build tool
- TanStack Query - Data fetching
- Tailwind CSS - Styling
- Radix UI - Component primitives
- Axios - HTTP client
- QUICKSTART.md - 5-minute setup guide
- deploy.md - Deployment instructions
The application is ready to deploy to:
- ✅ Heroku
- ✅ Railway
- ✅ Google App Engine
- ✅ AWS EC2 / DigitalOcean VPS
- ✅ Vercel (frontend)
- ✅ Netlify (frontend)
See deploy.md for detailed instructions.
- API keys stored in environment variables
- CORS configured for specific origins
- Input validation on all endpoints
- HTTPS ready for production
- Security headers configured
This project is licensed under the MIT License - see the LICENSE file for details.
Emmanuel Nwanguma
- GitHub: @Emart29
- LinkedIn: Emmanuel Nwanguma
- Email: nwangumaemmanuel29@gmail.com
- FastAPI - Backend framework
- LangChain - AI agent framework
- Groq - LLM inference
- Tailwind CSS - Styling
- Radix UI - UI components
Built with ❤️ using FastAPI and React