Inspiration

I was doing taxes one day, filling out an Excel sheet with many different entries that I had to enter manually. Hoping to automate this process, we came up with HiLite, an app that would scan the pages, look for what we highlighted, and convert that to a CSV.

What it does

Using OpenCV libraries, the app imports a picture and scans for the designated colour highlighter. There are pre-generated colours, but any colours are possible using the slider tool. When it finds all elements of that colour, it presents them to the user to review, then uses Google's text recognition API to find what words were in each of the highlighted snippets. The resulting strings are then concatenated into one single CSV, which can then be easily emailed to someone for a use such as importing into an Excel sheet.

How I built it

Starting with a blank Android Studio project, we imported OpenCV's Android vision libraries in order to process the images being selected by the user. We then imported Google's Text Recognition API in order to process the highlighted snippets and extract the text contained within. I have used Android Studio to a limited degree before, but integrating these many elements into a mobile app was a very challenging and interesting task.

Challenges I ran into

The major challenges were importing the OpenCV and Google libraries into Android Studio. There were many Gradle Build errors and not much documentation regarding how to solve them, but we persevered and got it working. Furthermore, there were several bugs throughout the process, such as the app crashing when trying to delete certain highlighted snippets or the app duplicating previously scanned snippets. However, it was a wonderful learning process, and through perseverance, we managed to iron out most of the major bugs.

Accomplishments that I'm proud of

I'm proud that amidst all the many problems we encountered, we were able to wither find workaround solutions or solve them altogether. This was our first Hackathon, so neither of us knew what to expect, but it ended up being very enjoyable and informative.

What I learned

I learned how to use GitHub repositories for the first time, how to create better-structured apps in Android Studio, and how to integrate complex libraries into a mobile app-- a feat I had only done in desktop applications in the past.

What's next for HiLite

Exporting directly to an Excel file instead of a CSV, ironing out some minor bugs, sorting the entries based on horizontal and vertical position on the paper for smoother integration with Excel.

Built With

Share this project:

Updates