GradeAI - AI Assistant for Grading Handwritten Essay Exams
Project Overview
Grading handwritten essay exams is time-consuming, difficult to standardize across classes, and hard to reuse for later analysis. GradeAI addresses this by allowing teachers to upload exam photos, extract Vietnamese handwriting with OCR, grade answers using custom rubrics, and review AI-generated scores before final confirmation.
Results & Metrics
Teacher, School Admin, Super Admin
3 user roles
Mobile scan flow improved across 3 versions
v1 → v3
Data access controlled by school_id and role
RLS + RBAC
Key Features
Bulk exam photo upload via Cloudflare R2 presigned URLs
Vietnamese handwriting OCR using Google Cloud Vision API
AI grading based on teacher-defined rubrics
Rubric builder with flexible criteria and score scales
Fast review interface to accept or adjust AI scores
Realtime updates powered by Supabase Realtime
Separate dashboards for teacher, school_admin, and super_admin
Append-only flywheel storing AI scores and teacher scores
Secured with Supabase Auth, RLS, RBAC, and Turnstile
VPS deployment via GitHub Actions self-hosted runner and PM2
Role
Frontend / UI-UX / Mobile scan. I built the main interface with Next.js and Tailwind, designed multi-role dashboards, implemented Vietnamese-English localization, improved preload/skeleton states, and developed the mobile scan flow from v1 to v3.
Responsibilities
Designed and implemented dashboards for teacher, school_admin, and super_admin roles; built the mobile upload/scan flow; created the rubric-based grading review interface; improved loading experience with preload and skeleton states; implemented Vietnamese-English localization for landing and auth flows; integrated frontend flows with OCR, grading workers, realtime updates, and storage APIs.
Project Details
GradeAI is designed as a platform that helps teachers grade handwritten essay exams more efficiently. Teachers can bulk-upload exam photos to Cloudflare R2 via presigned URLs. The system then performs Vietnamese handwriting OCR using Google Cloud Vision and sends the extracted text to an AI Gateway for rubric-based grading.
A key highlight is the fast review interface, where teachers can accept AI-generated scores as-is or manually adjust each rubric criterion before saving the final grade. The system also stores AI scores and teacher-corrected scores in an append-only flywheel, creating a dataset that can support future model improvement.
The platform includes role-based dashboards for teacher, school_admin, and super_admin, secured with Supabase Auth, Row-Level Security by school_id, RBAC, and Cloudflare Turnstile.