Home
(Platform)

How it works

eAssess is an automated grading platform for technical exams. Students submit code; the autograder grades it instantly — no human in the loop for correctness checking.

(Platform Architecture)

End-to-end flow — from learner to graded submission.

(Student Journey)
01

Access the exam

Visit your exam URL. Read the policies, then start — no account required for demo tracks.

02

Multiple choice section

Answer single-select and multi-select questions. Answers are auto-saved as you go — navigate freely between questions.

03

Solve coding problems

Write Python functions, SQL queries, Pandas expressions, or HTML/CSS in the live code editor. Run your code against sample data before submitting.

04

Submit for grading

Submit the full exam when ready. The autograder grades instantly, then an AI reviewer checks incorrect answers for false negatives before returning your final score.

05

View your results

See your score breakdown per question, which test cases passed or failed, and any TA feedback added after review.

(Question Types)
MULTICHOICE
MCQ

Exact string match against the answer key.

  • Single correct answer
  • Multiple correct answers
SQL
SQL

Student query and solution query both execute; result DataFrames are compared for equality.

  • chinook
  • northwind
  • olist
  • titanic
  • movie
  • csdepartment
FUNCTION
Python / JS

Function is executed with each test case in an isolated subprocess. Return values are compared.

  • Built-in stdlib allowed
  • No external libraries
  • 60s timeout
EXPRESSION
Pandas

Expression is evaluated against a pre-loaded DataFrame. Result compared to expected output.

  • Full Pandas + NumPy API
  • Named DataFrame variable provided
(Autograding Pipeline)

What happens the moment you click Submit.

01

Receive submission

Submission hits the API. Exam answers and metadata stored in PostgreSQL.

02

Fetch solutions from CDN

Answer keys and question configs are pulled from S3 via CloudFront on first access, then cached.

03

Initialise resources

ResourceManager loads the right tools per exam: SQLite databases for SQL, DataFrames for Pandas, test case suites for Python.

04

Grade each question

Each question type runs through its own handler. Code is executed in isolated subprocesses with a 60-second timeout.

05

Compare results

Outputs are compared against solutions: DataFrames for SQL, return values for functions, string match for MCQ.

06

AI review of incorrect answers

Incorrect answers (excluding multiple choice) are sent to an LLM. It checks for false negatives — equivalent SQL, alternative syntax, semantically correct code — and upgrades verdicts to CORRECT or PARTIAL where warranted.

07

Calculate score + store

Per-question scores are summed (with any AI upgrades applied), a summary report with AI review notes is generated, and the final result is stored in the database in a single write.

(Tech Stack)
APIFastAPI · Python 3.12
DatabasePostgreSQL (Neon) via SQLAlchemy 2.0
Content storageAWS S3 + CloudFront CDN
JS executionNode.js 22 subprocess
Python executionSubprocess runner, isolated per call
ContainerisationDocker
AI reviewOpenRouter · owl-alpha

Ready to try it?

No account required — pick a track and start a demo exam.

Explore exam tracks