Due dates. Deadlines. Syllabi. As students and professionals we have a wealth of assignments to complete by a certain date. What's more is that often, and especially for class, we have hundreds of due dates that are given in multiple syllabi at the beginning of every semester. Wouldn't it be a great way to simply take upload the PDFs of your due dates and snap pictures of your syllabi to be processed online, sending you back with an ordered list of tasks that are also marked in your calendars?
What it does
Well now, you can. DoDates is an app for iOS and web that allows you to upload multiple pictures of your syllabi and other assignment documents directly to our Optical Character Recognition engine that returns for you an ordered list of your tasks and a calendar representation of every task you'll ever have to accomplish, work and school.
How WE built it
Built by a team of five undergraduate students from around the Austin area, DoDates was completely ideated, constructed, developed, and deployed at HackTX 2015. We utilize Microsoft Azure to host our web app. When a user uploads a picture of their document - either PDF or image from their computer or iOS device - the file is run through google's tesseract Optical Character recognition software wrapped in Python's pytesseract to deliver a plain text confirmation of dates and their corresponding titles, information, et cetera. Once confirmed, this information is stored on the app's calendar and task manager or the integrated Calendar and Reminders app on iOS. It's truly amazing, and we can't wait for you to try it out.
Challenges I ran into
It's a bummer that we have to fill out this section, but alas, we have many a challenge. In short, pytesseract and Google gave us a lot of trouble with their OCR library dependencies, and Azure had a steep learning curve. In the end, however, everything paid off and we were able to craft an astoundingly capable application that can be accessed from any device.
Accomplishments that I'm proud of
Personally, I worked closely with UX and UI design for both the web and iOS apps, as well as sorting out some pretty tricky aforementioned issues with library dependencies in pytesseract.
What I learned
How to delegate tasks and work efficiently with scripts, hosting, data push and pull, and library installation all on one suite (thanks, Microsoft, Azure is pretty sweet).
What's next for DoDates
Who knows? Obviously we're gonna use this stuff; after all, we came up with it to help manage our time better than we have before. We only hope that other people like it too!!