02 — PROBLEM
Problem
Support queues need a consistent way to distinguish urgent tickets from lower-priority work without relying on manual routing alone.
PROJECT / 01
A production-style ML system for prioritizing customer support tickets from labelled support-ticket data. The system combines TF-IDF with Logistic Regression, exposes the model through FastAPI, and ships as a Dockerized service to AWS EC2 through GitHub Actions.
01 — SYSTEM ARCHITECTURE
The case study keeps architecture data-driven too. Each project can describe a different system path without changing the renderer.
170+ labelled support tickets
TF-IDF vectorization
Logistic Regression classifier
FastAPI · 7+ endpoints
Docker image
GitHub Actions → Docker Hub → AWS EC2
02 — PROBLEM
Support queues need a consistent way to distinguish urgent tickets from lower-priority work without relying on manual routing alone.
03 — APPROACH
Train a TF-IDF + Logistic Regression classifier and expose it through a REST API. Low-confidence predictions are flagged for human review, while confidence scoring makes the decision boundary visible to downstream consumers.
04 — RESULTS
The system reached 84% classification accuracy on unseen test data and 100% precision on high-priority tickets, with deployment automated from GitHub through Docker Hub to AWS EC2.
05 — IMPLEMENTATION
Text features are generated with TF-IDF and passed to Logistic Regression.
The FastAPI layer exposes the model through 7+ REST endpoints, including confidence scoring and human-review flagging.
The service is containerized with Docker and published to Docker Hub.
GitHub Actions automates the push → build → Docker Hub → EC2 deployment path.
06 — STACK & DEPLOYMENT
Docker + Docker Hub + GitHub Actions (CI/CD) + AWS EC2