Inspiration
Team YUHU chose this project prompt because we have an idea that this would challenge us. Additionally, our work created we wanted to ensure that our work will have real world application and show off our abilities.
What it does
MGR Lab OCR is a web application (coming soon to android), that allows users to scan a label, both hand written and typed, and extract the text to upload into a database. Users can then can categorize these labels and manage then. They also have the ability to export these labels into a .CSV file. While authentication was a not requirement, we implemented it as a proof of concept.
How we built it
We split our team into two groups. One group focused on developing and designing the front-end. The other group developed and designed the back-end and database schema.
For our front-end we used NEXT.JS as our framework of choice as it is simple and easy to understand. We have 5 pages: home, camera, upload, inventory, and settings. The home page allows for quick and easy scans and search. The camera page allowed users to record a video of a label and scans and returns a modal with the extracted information that can be edited as a fallback. The upload page allowed for quick uploading of files that are saved on your computer already. The inventory page allows for users to manage their uploaded labels and categorize them. They are able to download a .CSV of each category. The settings page allowed users to manage their own account and change the theme of the system.
As for back-end, we used Tiger Database to store data of each label including an optional name, optional description, the scan date, and the user who scanned it. We used Cloudinary to store the uploaded videos and display it in the inventory page to show that these actually existed. We used Gemini API to analyze and extract the texts from the video files as it was very efficient and somewhat accurate.
Challenges we ran into
Some challenges we ran into was mainly trying to smoothly implement these 3rd party platform tools and have them work together with each other. We also ran into time management problems as we had to balance going to lectures while also developing our product. Task management was also a problem as we had a team of 8 and dividing the tasks were difficult. There were also some internet issues that delayed our production.
Accomplishments that we're proud of
We are most proud of the user interface and user experience developed by Justin J, Ethan M, Hung N, and Kate W. The back-end system that we developed is also something we are very proud of as we had to developed a system to decipher text from video.
What we learned
We learned that scope can be developed at the beginning but change overtime due to time constraints and learning constraints. We also learned how to communicate and plan with our teammates. Using AI as an assistant rather than the pilot is another big thing we learned to ensure no vibe coded slop.
What's next for MGR Lab OCR
As for what's next for MGR Lab OCR, we would like to finish developing the mobile application for it. We would also like to have the option to import existing .CSV files to store in the database as well. From our brief talk with the organizers, there may be a system that this project could be incorporated into, and we would love to help with that. We would also like to develop a motorized model to automate rotating and scanning of these vials. If needed, we are also to expand the authentication process to make it more secure with PKIs, 2FA, and other MFA.