The interface was built using a split-screen layout, with the source text on the left side of the screen and the annotations on the right. Filters and paragraph selection features were integrated to allow high levels of participation without excess visual clutter. Inline text transformation, auto-saving, and offline functionality were implemented to enhance the writing experience and improve user engagement.
Annotation activities were contained within assignments. Faculty members could add any number of tasks to each document added to an assignment, while a dashboard interface with due dates and color labeling allowed students to visually track their progress.
To address the challenge of handling hundreds of students and faculty members concurrently annotating and uploading documents, we employed a microservices architecture, allowing us to choose the best technologies and distribute the load across the app. Key technologies used included Tesseract OCR for interpreting scanned text, Elastic for search, Angular for the frontend, and an open-source EDMS document management system.
A significant challenge was developing a method for easily uploading, OCR scanning, MIME type sorting, and transforming any scanned or digital document type into semantic HTML, ready for annotating.
The platform was built using Python, Angular, HTML5, CSS, Terraform, Tesseract OCR, and other cutting-edge tools to create a seamless user experience.