Autonomous email classification, SLA tracking, and team alerting for Vidarbha Infotech Pvt. Ltd.
Live Dashboard · Wiki · DeepWiki · Changelog · Releases
VIPL Email Agent watches your team's shared inboxes (info@, sales@) 24/7, classifies every email with Claude AI, assigns them to the right person, tracks SLA deadlines, and alerts the team — all from a retro-themed real-time dashboard with dark/light mode.
Every email gets a category, priority, SLA deadline, summary, draft reply, and suggested assignee — in under 3 seconds, for ~$0.001 per email.
"We kept missing government tender emails buried under vendor spam. By the time someone noticed, the deadline had passed."
Before: 30-80 emails/day across shared inboxes. Missed tenders, inconsistent triage, no SLA tracking, zero visibility into communication state.
After: Zero missed emails. AI classifies everything. SLA breaches caught automatically. Team sees one dashboard.
Gmail Inboxes (info@, sales@)
→ SpamFilter (13 regex + blocked senders — $0)
→ AIProcessor (Haiku ~$0.001/ea, Sonnet for CRITICAL ~$0.01/ea)
↳ Up to 4 concurrent Claude calls (ThreadPoolExecutor)
→ Auto-Assign (HIGH confidence >80% → assign by category rules)
→ Pipeline (save PostgreSQL → label Gmail → notify Chat)
→ Feedback Loop (spam corrections → SenderReputation, AI corrections → distillation)
→ Dead Letter Retry (30min intervals, max 3 attempts)
→ Circuit Breaker (3 failures → pause polling)
→ Adaptive Polling (5min day / 15min night)
Deep dive: Email Pipeline · AI Triage
| Feature | Detail |
|---|---|
| Two-Tier AI | Haiku for routine, Sonnet for CRITICAL — prompt caching saves ~90% |
| Confidence Scoring | HIGH/MEDIUM/LOW with visual dots; HIGH triggers auto-assign |
| Spam Learning | Feedback loop: mark spam → SenderReputation → auto-block repeat offenders |
| Feedback Distillation | User corrections aggregated into AI prompt rules nightly |
| Multi-Language | Hindi, Marathi, Mixed — summaries in English, replies in original language |
| PDF Analysis | Extracts first 3 pages of PDF attachments for context-aware triage |
| Feature | Detail |
|---|---|
| Dark/Light Mode | Retro CRT aesthetic (dark) or clean modern (light) — toggle persists |
| Thread Cards | Filterable queue with avatar badges, status dots, AI summary, confidence |
| Detail Panel | Slide-out with inline editing (category, priority, status, AI summary) |
| Assignee Badges | Google avatar images, solid rose initials, gold "Unassigned" state |
| Context Menu | Right-click cards for quick assign, status, priority, spam actions |
| Reports | 5-tab analytics (Overview, Volume, Team, SLA, AI Performance) with Chart.js |
| Activity Log | Full audit trail: assignments, status changes, notes, AI edits |
| Keyboard Nav | Arrow keys, Enter, Escape, U (mark unread) |
Full walkthrough: Dashboard Guide
| Feature | Detail |
|---|---|
| Chat Alerts | Google Chat Cards v2 for HIGH/CRITICAL emails |
| SLA Alerts | 3x daily breach summary (9 AM, 1 PM, 5 PM IST) |
| Quiet Hours | Alerts suppressed 8 PM – 8 AM IST |
| EOD Report | Daily summary email + Chat card at 7 PM IST |
| Health | /health/ JSON endpoint for Docker healthcheck |
Frontend Django Templates + HTMX 2.0 + Tailwind CSS v4
+ Hand-crafted retro theme system (no external design library)
Backend Django 4.2 LTS + PostgreSQL 12.3
AI Claude Haiku (default) + Sonnet (escalation) via Anthropic API
Email Gmail API with Domain-Wide Delegation
Notify Google Chat Cards v2 Webhooks
Auth Google OAuth SSO (django-allauth, domain-locked)
Deploy Docker Compose + Nginx + Let's Encrypt
CI/CD GitHub Actions: release-triggered deploy
Architecture details: Architecture
The UI is a 100% hand-crafted CSS design system — no PxlKit, no external framework. Retro effects (scanlines, CRT vignette, pixel corners, glow) are pure CSS in templates/base.html.
| Dark Mode | Light Mode | |
|---|---|---|
| Background | Deep dark #0a0a0f |
Slate-50 #f8fafc |
| Body Font | JetBrains Mono | Plus Jakarta Sans |
| Effects | CRT scanlines, vignette, neon glow | Subtle dot grid, soft shadows |
| Accent | Rose #e06a97 |
Rose #a83262 |
| Headings | Press Start 2P (pixel font) | Press Start 2P (pixel font) |
Color tokens: --vipl-primary (rose), --vipl-cyan (info), --vipl-gold (warning), --vipl-red (error), --vipl-purple (AI).
Complete guide: Design System
git clone https://github.com/shreyasugemuge/vipl-email-agent.git
cd vipl-email-agent
python -m venv .venv && source .venv/bin/activate
pip install -r requirements-dev.txt
cp .env.example .env
python manage.py migrate
python manage.py runserver 8000Fresh installs default to off mode — zero external API calls.
pytest -v # 833 tests (no API keys)
python manage.py test_pipeline # Smoke test with fake data
python manage.py run_scheduler --once --dry-run # Simulated poll cycleFull setup: Getting Started · Configuration
gh release create v2.8.4 --title "v2.8.4" --generate-notes
# → CI tests → SSH deploy to VM → donePush to main runs tests only. Deploy only on GitHub Release — intentional, documented, reversible.
Full guide: Deployment · Security
| Component | Monthly |
|---|---|
| GCP VM (shared with Taiga) | ~$0 |
| Claude AI (Haiku + Sonnet) | ~$5-15 |
| Google APIs (Gmail, Sheets) | Free |
| Total | < $20/mo |
| Version | Highlights |
|---|---|
| v2.8.4 | Adaptive night polling, concurrent email processing, pipeline optimization |
| v2.8.2 | Triage Lead bug fixes, poll epoch fix, .planning/ removed from git |
| v2.8.1 | To/Cc display on thread detail, AI performance calibration dashboard |
| v2.8.0 | Codebase cleanup, split views, consolidated tests, deploy fix |
| v2.7.1 | QA bug fixes (6 bugs), GitHub Wiki user manual |
| v2.7.0 | Gatekeeper role, irrelevant email handling, bulk actions, member reassign, alerts |
| v2.6.1 | Prominent assignee/status badges, Google avatar support, gold "Unassigned" state |
| v2.6.0 | Full UI revamp: dark/light theme, VIPL brand rose palette, hand-crafted design system |
| v2.5.4 | 24 UI/UX fixes: expanded cards, pill dropdowns, retro login, dev inspector overhaul |
| v2.5.0 | AI confidence scoring, auto-assign, spam learning, read/unread, reports module |
| v2.4.0 | Dashboard UX overhaul: single sidebar, settings validation, poll persistence |
| v2.0.0 | Full-stack rebuild: Django + PostgreSQL + HTMX. Deployed to VM |
| v1.0.0 | Initial: Gmail polling, Claude triage, Google Sheets, Chat alerts |
Full changelog: CHANGELOG.md · Releases
| Resource | Description |
|---|---|
| Wiki | Complete documentation — architecture, guides, API, operations |
| DeepWiki | AI-generated codebase exploration and documentation |
| CLAUDE.md | Architecture reference for AI-assisted development |
| CHANGELOG.md | Detailed version history |
| API Endpoints | All URL routes and HTMX endpoints |
| Testing | Test suite, dev pipeline, QA |
| Troubleshooting | Common issues and solutions |
Built for Vidarbha Infotech Pvt. Ltd., Nagpur
Saving 10+ hours/week of manual email triage since January 2026