Task management system powered by a self-hosted LLM.
This project combines a Telegram bot, web dashboard, and FastAPI backend to generate project roadmaps and track progress.
Runs entirely offline using a local LLM (Qwen 2.5 via llama.cpp) — no external APIs required.
- Generates structured project roadmaps from user input using LLM
- Supports both Telegram bot and web interface
- Runs fully offline (self-hosted AI, no OpenAI dependency)
- Built with async backend and containerized architecture
- Designed for privacy, control, and low-latency inference
graph TD
User((User))
TG[Telegram Bot]
Web[Web Dashboard]
API[FastAPI Backend]
DB[(PostgreSQL)]
Redis[(Redis Cache)]
LLM[Local LLM Service]
User --> TG
User --> Web
TG --> API
Web --> API
API --> DB
API --> Redis
API -->|Prompt| LLM
LLM -->|Stream| API
Runs quantized LLM models (GGUF) locally via llama.cpp No OpenAI API keys required
Transforms user ideas into 5–7 structured technical tasks
- Telegram Bot (Aiogram 3)
- Web Dashboard (Next.js)
Streaming responses and progress updates
Backend
- FastAPI
- SQLAlchemy (async)
- Pydantic
Frontend
- Next.js 14
- TypeScript
- Tailwind CSS
AI
- llama.cpp (OpenAI-compatible API)
- Qwen 2.5 (GGUF models)
Infrastructure
- Docker / Docker Compose
- Redis
- PostgreSQL
- Caddy
git clone https://github.com/vlimkv/ai-project-tracker.git
cp .env.example .env# Downloads model (~2GB on first run)
docker compose up -d --build- Web UI: http://localhost:3000
- API Docs: http://localhost:8000/docs
- LLM Endpoint: http://localhost:8080/v1
- AI_PROVIDER — oss (local) or openai
- OSS_MODEL — qwen2.5-3b-instruct
- REDIS_URL — caching and state
- Docker
- 4GB RAM minimum (8GB recommended)
- GPU optional
Built to explore real-world LLM integration without external APIs.
Focus:
- self-hosted AI
- async backend
- full-stack system design
This project demonstrates:
- local LLM deployment
- AI + backend integration
- full-stack architecture (bot + web + backend)
- containerized development workflow