Case study
TN SuccessMate
டிஎன் சக்சஸ்மேட்
Turn textbooks and notes into traceable knowledge, then teach TNPSC Group 4 as a daily live class — not a chat window.
Real codebases with production deploy docs; scraper hostname live; Group 4 only- Python
- FastAPI
- PostgreSQL
- Redis
- Celery
- Next.js admin
- Flutter
- Docker
- AWS
- Supabase
- R2
Problem
PDFs, scans, and handwritten notes are not searchable. Exam coaching that “guesses” from an LLM is unsafe.
What exists
- Upload PDF / TXT / images / handwriting
- Per-page classify, OCR, layout, hierarchy
- Tamil + English (mixed pages)
- Confidence + needs_review — uncertain text is never invented
- Admin review UI and approved JSON export
- Search over approved items
- Production path documented: Docker on AWS EC2 (ap-south-1), nginx + web + api + worker + redis; Supabase Postgres; Cloudflare R2
- Live DNS: scraper.happibuys.com / api.scraper.happibuys.com
- TN SuccessMate (டிஎன் சக்சஸ்மேட்) is not a chatbot: daily / live class teaching, topic doubts, MCQs, daily mock, reports, next-day recall
- Grounded on approved ContentItems; empty hits → refuse
- Flutter mobile coach: GetX + GoRouter + Dio + ScreenUtil
- Home catalog: Exam → Syllabus part → Unit → Topics; Group 4 available; Group 1 / Group 2 marked Coming soon
- Coach BFF on FastAPI; LLM via Ollama / OpenAI-compatible (Tamil-LLaMA path documented)
Architecture
Animated diagram of the system from documented facts.
Stack
- Python
- FastAPI
- PostgreSQL
- Redis
- Celery
- Next.js admin
- Flutter
- Docker
- AWS
- Supabase
- R2
Status
Real codebases with production deploy docs; scraper hostname live; Group 4 only
Extraction + coaching are real codebases with production deploy docs and a live HappiBuys hostname for the scraper. Only Group 4 is fully in catalog — Group 1 and Group 2 are marked Coming soon.
