Inspiration
When remote learning had begun, I noticed that Google Classroom, while certainly a clean and useful tool for teachers, was not very technologically advanced and had lots of room for improvement in that direction. For tests and assignments, I normally had to do my work on paper and submit a photo of it to Classroom; however, I was unable to receive feedback on my work because there simply was no easy way to do it. That's when I was inspired to create SmartSubmit.
What it does
SmartSubmit is a chrome extension for Google Classroom that allows teachers to convert student's submissions into Google Documents and convert assignment attachments (e.g. pictures of handouts) into Google Documents as well. Therefore, teachers have easy and interactive access to their students' work and students have the same experience when completing assignments.
How I built it
SmartSubmit's frontend is a chrome extension, so it uses the same programming languages as that of a website (HTML/CSS and Javascript). The backend is a Flask app written in Python, and handles the image to text conversion using the OpenCV and PyTesseract optical character recognition (OCR) libraries. It also uses the Google Docs, Google Drive, and Google Classroom API to manage files, submissions, and attachments.
Challenges I ran into
At first, PyTesseract was not as accurate as I had hoped for, but after some research I discovered that image pre-processing would drastically improve the results of the OCR. However, this took a lot of time and effort. The Google APIs were also difficult to use and lots of debugging had to be done before I could successfully implement them into my project.
What I learned
I learned a lot at this hackathon; firstly, the Google Docs, Google Drive, and Google Classroom APIs were completely new to me and I am glad to say that they are very useful and that I will most definitely use them for future projects. I also had never used the PyTesseract library before, and I was impressed that a built-in model could perform OCR very quickly and fairly accurately.
What's next for SmartSubmit
SmartSubmit has lots of room for improvement. First off, the image-to-text conversion is not 100% accurate because I used a Python library myself. To increase accuracy, the processing would be moved to an already-existing vision/OCR API, such as Google Cloud Vision. I also plan to improve the UI of the chrome extension to be more appealing and user-friendly.
Built With
- flask
- html/css
- javascript
- opencv
- pytesseract
Log in or sign up for Devpost to join the conversation.