MathTutor Architecture

System Design

The current repo is a POC centered on problem suggestion using an obstacle chosen by the user, a structured prompt, and difficulty classification. The API layer will stay thin while the orchestration and schemas live server-side.

Data Model (ERD)

Sequence Diagrams

Problem Suggestion (Obstacle → Structured Prompt → Problem + Hints + Classification)

Solve with Stepwise Hints

Difficulty Assessment & Classification

Evaluate Answer & Feedback

Minimal Deployment Diagram

  • Nginx: TLS termination, gzip, reverse proxy to Gunicorn/Uvicorn.
  • FastAPI: Orchestrates structured prompts + JSON schemas
  • RDS MySQL: Stores problems, hints, attempts, evaluations, and classifications.
  • Secrets Manager: DB and LLM API keys kept out of code; rotate regularly.
  • CloudWatch: Logs/metrics; alarms on error rate and latency.