Flyers are everywhere around our campuses advertising various kinds of meetups and events. It's hard to keep track of them and often it's impossible to copy them down when in a rush. We provide a solution to that problem while also using weather and transportation data to supplement the flyer information so that you can stay informed and up to date on all the happenings around you!
What it does
Our solution is a mobile app that allows users to take a picture of a flyer and automatically sync the event information with their calendar and eventually integrate with other conveniences of modern life. Our app will look at the event location and suggest a lyft ride if appropriate. It also notifies you of the weather forecast so that you can plan ahead.
How we built it
We built out the backend of our app using Flask, and a frontend using iOS and React. The backend we built as an API to be agnostic to the frontend as Will and Michael continued to develop the mobile applications.
Challenges we ran into
Over the weekend, we ran into two primary challenges: Platform integration and image segmentation. Although leveraging the Google Cloud Vision API made character detection much simpler, it was still difficult to associate each word with event fields it represents. We tried a few approaches while solving this and decided to use a combination of wit.ai, parsing, and geocoding techniques. We also had issues sharing images between mobile and server applications with low latency.
Accomplishments that we're proud of
It works! Just like we'd imagined, we can use our phones to take pictures of fliers and add them to our calender's. Not only was it fulfilling to build, but we're also happy to go home with a nifty new utility.
What we learned:
We learned how to debug POST/GET requests between our front-end and back-end as a team. In addition, we learned how to use Expo with React-Native as our development environment, as well as the ES6 syntax for async processes. We learned how to make calendar events for iOS. Finally, we learned how to use the Google Cloud Vision API to process our images to find important and relevant information.