Inspiration
We built Evalli-X after noticing a simple problem with the way assessments are usually created and conducted. Preparing good questions from study material takes time, while conducting tests, tracking submissions, checking performance, and maintaining academic integrity adds even more work for teachers.
We wanted to bring these parts into one system. The idea was to let a teacher provide the learning material, generate a meaningful assessment from it, conduct the test securely, and then get useful performance insights without having to manage each step separately.
What it does
Evalli-X is an AI-powered assessment platform for teachers and students.
Teachers can create classes, upload study material, generate assessments with AI, schedule and start tests, and monitor submissions. Students can join their class using a secure join code, attempt assessments through a timed interface, and receive their results and feedback.
The platform also includes anti-cheating measures such as tab-switch detection, real-time assessment state updates, automatic submission handling, and teacher-side violation tracking.
After an assessment, teachers can view analytics such as scores, accuracy, submission status, and violations, and generate reports for individual students or an entire assessment.
How we built it
We built Evalli-X as a full-stack application using React on the frontend and Fastify/Node.js on the backend. Supabase handles authentication, PostgreSQL data storage, row-level security, and real-time updates.
For AI-powered question generation and feedback, we integrated large language models through Groq, with Gemini available as a fallback. Uploaded PDFs are processed on the backend so that relevant study material can be passed to the AI model for question generation.
The assessment lifecycle is controlled through the backend and database rather than relying only on the browser. This allows test states, timings, submissions, and results to remain consistent across teacher and student sessions.
Challenges we ran into
One of the biggest challenges was making the assessment lifecycle reliable. A test can move through several states — scheduled, active, submitted, evaluated, and ended — and each transition needs to be reflected correctly for both teachers and students.
Real-time synchronization was another challenge. We had to make sure that actions such as starting or terminating an assessment were reflected across different clients without making the UI dependent on a real-time connection being available.
We also ran into database security issues around class joining. Students needed to find a class using a join code before they were members of that class, while our row-level security policies correctly prevented non-members from reading class data. We solved this using a secure database function rather than weakening the access policies.
On the AI side, getting consistently structured question output from a language model required validation and fallback handling instead of assuming every model response would be valid JSON.
Accomplishments that we're proud of
We are proud that Evalli-X goes beyond simply generating questions with an AI model.
We built the complete flow around the assessment: class creation, student enrollment, AI-assisted test generation, scheduling, timed attempts, anti-cheat monitoring, submission handling, real-time synchronization, analytics, and reporting.
We also focused heavily on keeping the system reliable. Assessment state and timing are enforced on the backend, student answers are persisted during an attempt, and previous attempts are preserved rather than being treated as disposable data.
Most importantly, we built Evalli-X as a working product rather than a standalone AI demo.
What we learned
Building Evalli-X taught us that integrating AI into a product is only one part of the problem. The surrounding engineering — authentication, database design, permissions, state management, real-time communication, error handling, and data consistency — is just as important.
We also learned to treat AI output as untrusted application input. Model responses need validation, clear constraints, and fallback behaviour before they can be used by the rest of the system.
Working on real-time assessment flows also gave us a much better understanding of why backend-authoritative state and database constraints matter when multiple users are interacting with the same system.
What's next for Evalli-X
We want to take Evalli-X further from an assessment platform into a more complete learning and evaluation system.
Our next focus is improving the AI pipeline so it can work with larger collections of study material using better retrieval and context selection, rather than relying primarily on a limited portion of an uploaded document.
We also want to expand the analytics layer to identify learning gaps and give teachers more actionable insights into where students are struggling.
On the product side, we plan to improve reporting, add richer assessment formats, and make the platform suitable for larger institutions with multiple classes, teachers, and assessment workflows.
Built With
- fastify
- gemini
- groq
- llama
- node.js
- postgresql
- react
- rest
- supabase
Log in or sign up for Devpost to join the conversation.