AI-powered personal planner with multi-agent orchestration, intelligent task prioritization, and natural language interface.
-
Multi-Agent Architecture: 4 specialized AI agents working together
- Task Planner Agent: Prioritizes and schedules tasks
- Suggestion Agent: Recommends what to do next
- Notification Agent: Sends reminders and motivational messages
- Analytics Agent: Tracks patterns and insights
-
Multi-LLM Orchestration: Primary (GPT-4) with fallback (Gemini)
-
Vector Database: Pinecone for context-aware suggestions
-
Telegram Bot: Natural language task management
-
REST API: Full CRUD for tasks and events
-
React Dashboard: Visual calendar and task tracking
Frontend (React) ←→ FastAPI Backend ←→ PostgreSQL
↓
Multi-Agent System
↓
Multi-LLM Layer (GPT-4/Gemini)
↓
Vector DB (Pinecone)
↓
Telegram Bot
- Python 3.9+
- PostgreSQL 15+
- Node.js 16+
- Git
git clone <your-repo-url>
cd smart-planner-aicd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Setup PostgreSQL
psql postgres
# In psql:
CREATE DATABASE smart_planner_db;
CREATE USER planner_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE smart_planner_db TO planner_user;
\q
# Configure environment
cp .env.example .env
# Edit .env with your API keys
# Initialize database
python scripts/setup_db.py
# Run server
uvicorn app.main:app --reloadVisit: http://localhost:8000/docs for API documentation
- Message @BotFather on Telegram
- Send
/newbot - Copy your bot token
- Visit: https://platform.openai.com/api-keys
- Create API key
- Visit: https://makersuite.google.com/app/apikey
- Create API key
- Sign up: https://www.pinecone.io/
- Create index:
smart-planner(dimension: 1536, metric: cosine) - Copy API key
- Find your bot on Telegram
- Send
/start - Try commands:
/help/addtask/listtasks/suggest
smart-planner-ai/
├── backend/
│ ├── app/
│ │ ├── models/ # Database models
│ │ ├── agents/ # AI agents
│ │ ├── llm/ # LLM providers
│ │ ├── vectordb/ # Pinecone integration
│ │ ├── telegram/ # Telegram bot
│ │ ├── api/ # REST endpoints
│ │ └── utils/ # Utilities
│ ├── scripts/ # Setup scripts
│ ├── tests/ # Tests
│ └── requirements.txt # Dependencies
├── frontend/ # React app (Day 9-10)
└── docs/ # Documentation
POST /api/tasks/- Create taskGET /api/tasks/- List tasksGET /api/tasks/{id}- Get taskPUT /api/tasks/{id}- Update taskDELETE /api/tasks/{id}- Delete taskGET /api/tasks/suggestions/next- Get next task suggestion
POST /api/events/- Create eventGET /api/events/- List eventsGET /api/events/{id}- Get eventPUT /api/events/{id}- Update eventDELETE /api/events/{id}- Delete event
POST /api/chat/- Natural language interface
# Run tests
pytest
# Run with coverage
pytest --cov=app tests/# Connect GitHub repo to Render
# Set environment variables in Render dashboard
# Deploy!cd frontend
npm run build
vercel deploySee .env.example for all required variables:
- Database credentials
- API keys (OpenAI, Gemini, Pinecone)
- Telegram bot token
- App settings
This is a personal project for learning. Feel free to fork and experiment!
MIT
Built as a portfolio project to demonstrate:
- Multi-agent AI systems
- LLM orchestration with fallbacks
- Vector databases for RAG
- Production-ready FastAPI backend
- Modern React frontend