← All projects

Deployed internally at ASU

PhysicsGrader / Graviton

395 students, one grader that doesn't get tired

LangChainNext.jsCanvas LMS APIRBAC

The problem

Grading experimental physics lab reports well takes real judgment — checking a student's error analysis, not just their final number — but doing that consistently for hundreds of students across ten lab sections is a lot of TA hours, and consistency between graders is hard to guarantee.

What I built

PhysicsGrader (internally, Graviton) is a production LLM-based autograder integrated directly with Canvas via its LMS API, built on LangChain with a Next.js front end. It serves 395 students across 10 lab courses.

Because this grades real coursework that affects real grades, correctness and trust mattered as much as the ML itself: the system runs hallucination and factuality checks on its own output before it reaches a student, and enforces role-based access control, multi-factor authentication, and data encryption to meet ASU's compliance requirements.

Impact

In practice, it cut grading time by 60% while improving feedback consistency across sections — the same rubric applied the same way to every submission, with TAs able to spend their remaining time on the students who actually need help rather than repetitive scoring.