ACE Grader: Automating the Future of Academic Evaluation
By Ruthvik Atte & Pranav Bathula
Inspiration
The idea for ACE Grader was born when I noticed how much time my professor spent manually grading exams.
Hours upon hours were lost to repetitive work cross-referencing answers, checking rubrics, and calculating points.
What struck me most was that this process wasn’t just tedious it was stealing valuable time that could have been used to design more creative lessons, mentor students, and build meaningful classroom engagement.
That realization inspired me to develop a system that could automatically grade exams based on a professor-uploaded rubric, saving time while maintaining fairness and consistency.
In short, I wanted to build something that would give teachers their time back.
What It Does
ACE Grader automates the process of grading open-ended and written responses.
- Professors upload a rubric that defines grading criteria and point weights.
- The system reads each student’s answer, compares it against the rubric, and assigns scores to each criterion.
- It then calculates a final score using a weighted formula:
$$ \text{Final Score} = \frac{\sum_{i=1}^{n} (w_i \times s_i)}{\sum_{i=1}^{n} w_i} $$
where \( w_i \) is the weight of criterion \( i \) and \( s_i \) is the system-assigned score for that criterion.
The system also provides personalized feedback explaining why points were awarded or deducted.
A dashboard allows instructors to review, adjust, and finalize grades before publishing them to students.
How We Built It
We designed ACE Grader with scalability, fairness, and reliability in mind.
- Backend: Built using Python and FastAPI for lightweight and scalable API routing.
- AI Layer: Integrated a Large Language Model (LLM) via BAML to evaluate student responses according to rubric criteria.
- Frontend: Created a React interface where teachers can upload rubrics, review AI-generated grades, and download final reports.
The AI grading engine uses natural-language understanding to interpret rubric descriptions, ensuring context-aware scoring rather than simple keyword matching.
Challenges We Ran Into
- Consistency: Early models overvalued lengthy responses and undervalued concise, accurate ones. Prompt refinement and dataset tuning helped address this bias.
- Rubric Parsing: Professors format rubrics differently, so we developed a parser capable of normalizing varied rubric formats.
- Trust: Educators were initially hesitant to trust AI grading, so we introduced transparency features that show the reasoning behind each grade.
- Scalability: Handling large exam batches required asynchronous processing and optimization for parallel Lambda executions.
Accomplishments That We're Proud Of
- Developed a fully functional prototype capable of grading open-ended questions with over 85% alignment to human scoring.
- Reduced average grading time from hours to under 3 minutes per batch.
- Created an explainable AI interface displaying rubric-based justification for each score.
- Received positive feedback from professors and teaching assistants who tested the system.
What We Learned
This project reinforced that the purpose of AI in education is to augment, not replace.
Teachers don’t need to grade less — they need to teach more.
We learned how to integrate machine learning, backend development, and human-centered design into one cohesive, educator-friendly platform.
Most importantly, we realized that fairness, interpretability, and transparency are non-negotiable in AI systems that impact real people.
What's Next for ACE Grader
- Support essay-style and coding-based assessments.
- Enable tone-adjustable feedback (e.g., encouraging vs. analytical).
- Allow multi-professor rubric sharing and collaborative grading.
- Integrate with learning management systems such as Canvas and Moodle.
- Expand testing with real classrooms to improve model accuracy and educator trust.
Ultimately, the mission of ACE Grader is simple:
Empower teachers. Engage students. And make grading effortless.
Built With
- baml
- fastapi
- openrouter
- python
- typescript

Log in or sign up for Devpost to join the conversation.