An urge to solve the problem having lack of options to save money when required and making informed decisions while buying essential stuff. People usually have an inbox full of personalized discount offers from their favorite brands but often miss/ignore them as they create a lot of spam and it's a pain to go through each and every email. Our app leverages Machine Learning and automatic email parsing to consolidate all the offers from subscribed brands and personalize an experience to find useful and relevant discounts when required in a simple and elegant Android Application.

What it does

It gives machine learning influenced suggestions along with personalized coupons from your personal email inbox to save the hastle of scouring through spam emails or paying extra bucks for preferred and essential products. It also provides you with nearby outlets or re-directs you to the official brand website so that you never miss an opportunity.

How we built it

  • Firstly, the application, scrapes your email using Gmail API [] for offers from your subscribed brands like Aldo, Nike, BestBuy etc. and parses them to extract relevant information like coupon codes, discounts, expiry date etc and stores it securely in Google's Firebase Real-time database[]
  • It then conveniently consolidates all the relevant information into an Android Application [] for the user to browse through and allows the user to either buy online or check for any outlets around his/her current location by using Google's Places API. We also use the Clear-bit API and a couple of self-written API's hosted on the Google Cloud Platform [] to fetch data and populate Firebase.
  • We enabled the app to allow the user to make smart decisions by tapping into Machine Learning and Time- series analysis which suggest the user whether it would be more beneficial to buy things now or to wait for some time before buying. We analyze the historical email data and use ARIMA model and LSTM [] to find insights and give smart suggestions to the user. The Machine learning part of the app is carried out separately on the Google Cloud Platform to preserve the seamless User-experience of our Application.

Challenges we ran into

Orchestrate a number of technologies together was quite a challenge. We had to build different modules individually and then integrate them into a single entity. Finding the right technologies to use was a challenge in itself.

Accomplishments that we're proud of

A well-designed and robust Android application with excellent back-end infrastructure which takes advantage of the Google Cloud Platform, Time-series Analysis, Real-time database and Machine Learning. We were thrilled to be able to play around with such cool technologies and leverage their amazing features.

What we learned

We learned how to expose API's and run our regressive Machine Learning code externally on the Google Cloud Platform in order to keep the complexity away from the application we were building. Also, we were amazed at how Firebase can update/fetch data in real-time to make sure that nothing is missed at any given point of time. Android-studio was cool to play with to build an attractive UI using different templates and libraries.

What's next for Shopiholik

  • Get limited access to user email inbox by marking these promotions emails by particular Labels and have access only to them.
  • Apply coupon code directly on the vendor website.
  • Push notifications to notify the user of any coupons expiring soon bundled with info from our ML script.
  • Click a photo of a product to dynamically search for any available deals locally in the email or from other external API's like Groupon although we have made the backend side of this using Google Vision API to detect intended brands out of images but didn't have enough time to integrate with our App[].
  • Enhance the Machine Learning script to give better predictions by gathering more data and transforming it appropriately to be consumed by our trained models.
Share this project: