Loading repository data…
Loading repository data…
YasirAwan4831 / repository
A Python-based Multi-Tool AI Agent developed during the AI & Automation Internship at NEXE.AGENT. The system can search AI/Web Development jobs, save notes, send emails and execute intelligent function tools using automation workflows and AI integrations.
NEXEAGENT Multi-Tool AI Agent is a production-style AI automation platform built with Python, Flask, React 19, and Google Gemini AI. It works as an intelligent AI assistant capable of holding smart conversations, searching remote developer and AI jobs, managing personal notes, sending automated emails, and executing a suite of utility tools — all through a modern, responsive React dashboard.
Built during the AI & Automation Internship at NEXE.AGENT, this project demonstrates real-world agentic AI architecture with a clean modular backend and a fully functional frontend.
| 🤖 AI Chat Agent | 💼 Job Search | 📝 Notes Manager |
|---|---|---|
| Gemini-powered AI assistant | Search remote developer jobs | Save AI conversation summaries |
| Smart function routing system | AI & Automation job listings | Store important links & notes |
| Context-aware chat responses | Python / Flask / React positions | Edit & Delete notes |
| Full chat history management | Full-stack opportunities | JSON-based persistent storage |
| Intelligent prompt handling | Smart filtering & AI summaries | Timestamp & metadata support |
| 📧 Email Automation | 🛠️ Function Tools | 🎨 Modern UI Dashboard |
|---|---|---|
| Gmail SMTP integration | 🔢 Calculator | React 19 + Vite frontend |
| Fully automated email sending | 🔗 URL extractor | Tailwind CSS styling |
| AI job update notifications | 📄 Text summarizer | Responsive dashboard layout |
| AI-generated email summaries | 🗂️ JSON formatter | Full dark mode support |
| Notification & alert support | 🔑 Keyword extraction | Framer Motion animations |
| Category | Technology | Purpose |
|---|---|---|
| Python 3.11+ | Core backend logic & automation | |
| Flask | REST API server & routing | |
| React 19 | Frontend UI & component architecture | |
| Vite | Lightning-fast frontend build tool | |
| Tailwind CSS | Utility-first styling framework | |
| Google Gemini 2.0 Flash | AI model for chat & function calling | |
| Gmail SMTP | Automated email sending | |
| Framer Motion | UI animations & transitions | |
| JSON Files | Lightweight persistent storage | |
| Remotive Jobs API | Remote job search integration | |
graph TD
A([👤 User Prompt]) --> B([🤖 Gemini AI Agent])
B --> C{🔀 Tool Router}
C --> D([🔎 Web Search Tool])
C --> E([📧 Email Tool])
C --> F([📝 Notes Tool])
C --> G([🛠️ Function Tools])
C --> H([💬 Direct Chat])
D --> D1([🗂️ Job Results])
E --> E1([✅ Email Sent])
F --> F1([💾 Notes Saved])
G --> G1([⚙️ Tool Output])
H --> H1([🧠 AI Response])
D1 --> Z([📤 Final AI Response])
E1 --> Z
F1 --> Z
G1 --> Z
H1 --> Z
nexeagent-multi-tool-ai-agent/
│
├── 📁 backend/ # Python Flask Backend
│ ├── 🐍 app.py # Flask Application Entry Point
│ ├── ⚙️ config.py # Configuration & Environment Loader
│ │
│ ├── 📁 data/ # JSON Database Files
│ │ ├── 📄 notes.json # Notes Storage
│ │ ├── 📄 jobs.json # Saved Jobs Storage
│ │ ├── 📄 logs.json # System Logs
│ │ └── 📄 chat_history.json # Conversation History
│ │
│ ├── 📁 routes/ # Flask API Route Handlers
│ │ ├── 🔗 chat_routes.py
│ │ ├── 🔗 job_routes.py
│ │ ├── 🔗 email_routes.py
│ │ ├── 🔗 notes_routes.py
│ │ └── 🔗 tools_routes.py
│ │
│ ├── 📁 services/ # Business Logic Services
│ │ ├── 🤖 gemini_service.py # Google Gemini AI Integration
│ │ ├── 📧 email_service.py # Gmail SMTP Email Service
│ │ ├── 🔎 job_service.py # Remotive Jobs API Service
│ │ └── 📝 notes_service.py # Notes CRUD Operations
│ │
│ ├── 📁 tools/ # Utility Tool Implementations
│ │ ├── 🔢 calculator.py
│ │ ├── 🔗 url_extractor.py
│ │ ├── 📄 summarizer.py
│ │ ├── 🗂️ json_formatter.py
│ │ └── 🔑 keyword_extractor.py
│ │
│ ├── 📁 prompts/ # AI System Prompts & Templates
│ ├── 📁 utils/ # Helper Utilities
│ └── 📁 scripts/ # Automation & Maintenance Scripts
│
├── 📁 frontend/ # React 19 + Vite Frontend
│ ├── 📁 src/
│ │ ├── 📁 components/ # Reusable UI Components
│ │ ├── 📁 pages/ # Application Pages
│ │ │ ├── 🏠 Home.jsx # Main Dashboard
│ │ │ ├── 💼 Jobs.jsx # AI Job Search
│ │ │ ├── 📝 Notes.jsx # Notes Manager
│ │ │ ├── 📧 Email.jsx # Email Automation
│ │ │ └── 🛠️ Tools.jsx # Utility Tools
│ │ ├── 📁 services/ # API Call Handlers
│ │ └── 📁 assets/ # Images & Static Assets
│ │
│ ├── ⚙️ vite.config.js
│ └── 📦 package.json
│
├── 📄 requirements.txt # Python Dependencies
├── 📜 LICENSE # Proprietary License
└── 📖 README.md
1️⃣ Clone the Repository
git clone https://github.com/YasirAwan4831/nexeagent-multi-tool-ai-agent.git
cd nexeagent-multi-tool-ai-agent
2️⃣ Backend Setup — Create & Activate Virtual Environment
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
3️⃣ Install Python Dependencies
pip install -r requirements.txt
4️⃣ Configure Environment Variables
Create a .env file inside the backend/ folder:
GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-2.0-flash
SMTP_USER=your_email@gmail.com
SMTP_PASSWORD=your_gmail_app_password
EMAIL_FROM=your_email@gmail.com
🔐 Never commit your
.envfile to GitHub. It is listed in.gitignore.
5️⃣ Start the Backend Server
python app.py
✅ Backend running at →
http://127.0.0.1:5000
6️⃣ Frontend Setup & Launch
cd ../frontend
npm install
npm run dev
✅ Frontend running at →
http://localhost:5173
| Method | Endpoint | Description | Status |
|---|---|---|---|
/api/chat/message | Send a message to Gemini AI | ✅ Active | |
/api/chat/history | Fetch full chat history | ✅ Active |
| Method | Endpoint | Description | Status |
|---|---|---|---|
/api/jobs/search | Search remote AI / dev jobs | ✅ Active | |
/api/jobs/saved | Fetch saved job listings | ✅ Active |
| Method | Endpoint | Description | Status |
|---|---|---|---|
| ![POST](https://img.shields.io |
| Git + GitHub |
| Version control |