We wanted to create an app that is a joy to use and makes an everyday task so much simpler.
What it does
We have created an app that uses an Optical Character Recognition API to parse and auto-fill information from images of event flyers to make creating reminders an easier process, in addition to allowing you to create reminders the ordinary way. If the reminder is urgent then our app becomes your personal assistant: it gives you a call to remind you about it - you can even select the song you want to hear in the call before the big event.
Some examples of when and how you can use it
Scenario 1 So the next time you are walking on campus and see a flyer to a talk you want to go to - simply snap a picture of the event flyer - our app will autofill most details for you - you have to do minimum work to create that reminder.
Scenario 2 You are your in calc class - the professor shows a slide - there's a morning exam coming up soon - snap a picture of the slide- our app will create a new reminder event - it will populate the date field for you and you set the other parameters - while you are at it, enter the name of the song you want to hear to get you in the right frame of mind before your test (we recommend Eye of the Tiger :) ) - on the morning of the exam our app will give you a wake up call - and you will wake up listening to the song of your choice to get you in the state of mind ready to take on the world- a good start to a day :)
How we built it
Google Cloud Vision, Firebase, Facebook Login SDK for Swift, Twilio, Swift, Python, Flask, Requests, CocoaPods, AVFoundations, CameraManager3.1
Challenges we ran into
- Robust regular expressions had to be coded and stress tested to parse the data we wanted from the string of text returned by Google's excellent Cloud Vision API's OCR capabilities
- None of us had coded a back end in python before.
Accomplishments that we are proud of
Integrating 4 different APIs: Google Cloud Vision, Twilio, Facebook Login, Firebase and powerful native iOS frameworks, to create an app that we can see ourselves using on a daily basis
- Coding and stress testing regular expressions in Swift from scratch
- Coding a fully functional app and going beyond our original idea
- Following through with the keynote speaker's advice to make a beautiful product that is intuitive to use.
- This reminders app is unique: it offers functionalities that the reminders and to/do list apps before it (and there are too many such apps) do not.
What we learned while creating this product
Different members of the team worked on different aspects of the app:
- We gained experience using Firebase as a database solution as well as a using it, with Facebook's Login API, as a user authentication solution
- The team members responsible for writing the Python back-end to integrate Twilio's API used Python -for the first time ever- at this hackathon and were successful!
- This was a good exercise in making robust regular expressions :)
What's next for Diario?
- Parse more data from the image of a flyer
- Right now we are using Twilio's API to make our app your personal assistant when needed - we are committed to explore Twilio's API even more to add more functionality to our app.
Link to video demo, screentshots and source code
For a video demo and screenshots please navigate to the github repo below - you will see them on the main page itself - you will also find our complete source code there