OwlMark

Machine learning and computer vision assisted optical marking recognition platform.

A sample exam page where professors can view graded exams and overall scores.

A sample exam page where professors can view graded exams and overall scores.

A snapshot of an exam graded with the OMR system.

A snapshot of an exam graded with the OMR system.

Snapshot of the computer vision training outputs.

Snapshot of the computer vision training outputs.

Architecture diagram for the project.

Architecture diagram for the project.

PROJECT

OwlMark

YEAR

2024

DESCRIPTION

For our computer science capstone project, my team and I developed an Optical Mark Recognition (OMR) application to help our clients efficiently create and grade bubble sheet exams, to replace their existing legacy system. The application serves instructors, students, and administrators.

Instructors can create courses, enroll students, generate custom bubble sheets, schedule exams, submit answer keys, process grades, review statistics, and manage exam visibility. Students can enroll, view upcoming exams, access annotated results, and request re-evaluations. Administrators manage user roles, courses, and semesters, with automatic archival for compliance with UBC data standards.

Our system’s key value lies in its pre-trained OMR model, which accurately reads bubble sheets without manual configuration. It supports UBC templates and employs a containerized, queue-based processing approach, enabling multiple simultaneous grading jobs for a seamless, automated experience.

This project was highly successful, with our client selecting our team's solution over other competitors. This gave us the opportunity to deploy the system into production and earned us the highest grade in the capstone course.

ORGANIZATIONS

The University of British Columbia

TECH

front-end

Typescript
Next.js
Tailwind CSS

back-end

Typescript
PostgreSQL
NestJS
Node
TypeORM
Redis
Docker

optical marking

Python
Poetry
OpenCV
Numpy
Pillow
YOLOv8
ONNX Runtime
Jupyter Notebook

© 2025 Francisco Perella-Holfeld