An AI-assisted assignment evaluation system that uses Large Language Models and retrieval-based reasoning to help educators generate reference answers and provide structured, draft feedback on student submissions.
Designed as a decision-support system, not a fully autonomous grader.
SmartAssign is a production-ready applied AI system designed to reduce assignment feedback latency at scale. It uses LLMs and retrieval-based reasoning to assist educators in grading and feedback workflows while keeping humans in the loop to ensure reliability, transparency, and academic integrity.
- Video Demo: https://youtu.be/cqtb4iDCn2M
- Live Application: https://smartassign.onrender.com
- Portfolio: https://harshlad.vercel.app
Educational institutions struggle to provide timely and consistent feedback as class sizes increase. Faculty members spend significant time creating marking schemes and manually evaluating submissions, leading to delayed feedback cycles and inconsistent grading standards.
Fully automated grading systems are risky in academic environments due to hallucinations, subjectivity, and misalignment with instructor intent.
SmartAssign acts as a decision-support system for educators rather than an autonomous grader.
The platform:
- Generates draft reference answers from instructor-provided material
- Assists with semantic comparison of student submissions
- Produces structured feedback drafts for faculty review
- Preserves full human authority over final grading decisions
The system is intentionally conservative, favoring reliability and instructor control over full automation.
All AI-generated answers and grades are explicitly marked as drafts. Faculty must review, edit, and approve outputs before they are released to students.
LangChain abstracts the LLM interface, allowing the system to switch between Groq, OpenAI, or local models by changing configuration only—protecting the system from vendor lock-in.
PDFs are parsed during upload and converted into clean text. Only extracted text and metadata are stored in MongoDB, reducing database load and minimizing unnecessary token usage during inference.
LLM inference latency is non-deterministic. The backend is designed with asynchronous request handling to keep the UI responsive during the generation process.
- Model: Llama-3-70B
- Inference Engine: Groq (LPUs for low-latency reasoning)
- Temperature: 0.1–0.2 to prioritize factual consistency over creativity
- Extracts key questions from instructor-provided PDFs
- Generates structured "ideal answers" using context-aware prompting
- Compares student submissions against generated reference answers
- Produces similarity-based scores and qualitative feedback drafts
- Unstructured text extracted from PDFs
- No pre-labeled datasets
- Instructor-provided material acts as session-specific ground truth
SmartAssign avoids traditional accuracy claims, as grading quality is context-dependent and often subjective.
Instead, the system is evaluated using:
- Consistency of reference answers across regenerations
- Alignment of AI-generated output with instructor intent
- Reduction in average grading time per assignment
- Stability of outputs under low-temperature inference
All AI outputs remain editable drafts, ensuring that academic decisions remain under human control.
This design choice prioritizes trust and transparency over raw automation.
[PDF Upload]
|
[Text Extraction]
|
[Clean Context Window]
|
[LLM Inference (Llama-3)]
|
[Structured JSON Output]
|
[Instructor Review]
|
[Approved Feedback]
- Node.js
- Express.js
- MongoDB (Mongoose ODM)
- React.js
- LangChain
- Groq SDK
- Llama-3-70B
- pdf-parse
- pdf2json
- Nodemailer (SMTP)
- Node.js v18+
- MongoDB instance
- Groq API key
-
Clone the repository
-
Create a
.envfile inside theserverdirectory:MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret GROQ_API_KEY=your_groq_api_key EMAIL_USER=your_email EMAIL_APP_PASSWORD=your_email_password
-
Install dependencies:
npm install cd client && npm install
-
Start the backend:
cd server npm run dev -
Start the frontend:
cd client npm start
- Designing prompts that enforce strict JSON output formats
- Managing unstructured data from PDFs through structured inference pipelines
- Handling third-party AI failures with robust error middleware
- Balancing AI capability with human oversight in sensitive domains
- No support for handwritten or image-based submissions without OCR
- Very long documents may exceed LLM context window limits
- Subjective or creative assignments remain challenging to evaluate consistently
- Vector-based semantic grading using embedding stores
- OCR integration for scanned submissions
- Lightweight on-device inference for preliminary evaluations
Harsh Lad
Applied AI Engineer
📧 harshlad.dev@gmail.com
🔗 https://github.com/ladHarsh