Inspiration

We noticed that many of our favorite restaurants (such as Sweet Tomatoes) could not continue to survive in this grueling COVID-19 economy, which has caused almost every restaurant to shut down and lose major business. We wanted to help! So, we created a platform where users and restaurants can collaborate to not only support restaurants but also create a pathway for support towards charities, helping the socioeconomically disadvantaged.

What it does

Using Bread and Butter, users are able to create posts, invite friends, and make orders at their favorite restaurants, knowing that they will be supporting charities as well because every time a purchase is made, a certain designated amount goes to their selected charities for social causes or to help business owners. Users can even take the app on the go and analyze receipts and different transactions which will directly support various charities in their community. Furthermore, we have a restaurant recommender page built in where users can enter the type of restaurant they want to go to (ex: I want to go to a restaurant with good food) and it will show them all of the restaurants in their area which match this description.

From the restaurant's side of things, the restaurants can see the statistics about how many orders have been placed, total sales and total amount of money raised.

How we built it

Our team used a variety of tools and frameworks to build Bread and Butter. We built our front end, which is the dynamic website that serves as a tool for restaurants and users to communicate with our app, in Flask, Python and Bootstrap (HTML, CSS, JavaScript and SASS). As for our backend, we used various APIs such as the stripe API for the checkout gateway, Google Cloud Vision API for the OCR, and AWS S3 for the database and connection between mobile and web app. The restaurant recommended utilized various packages (such as NLTK, numpy, pandas and more) while the map in the dashboard utilized the folium library. For the iOS app, we utilized swift for the frontend, the Vision library for the OCR and SQLAlchemy for database management.

Challenges we ran into

Due to the complexity of our project, we encountered a lot of difficulties with our website, machine learning model and rest API backend.

One of the biggest challenges we had to face was dealing with the mobile app's integration with the web app. We utilized Firebase at the beginning of the hackathon but we noticed that it wasn't working out which is why we switched to AWS S3 database instead. Although we had much less experience dealing with AWS S3, we new it was the right move to make. Also, it was difficult to create the dashboard in the website (mainly because we were facing issues integrating plotly.express for the bar charts) for the restaurants due to a lack of time so we ended up working it out.

Accomplishments that we are proud of

Considering that we went into this hackathon with low expectations (as we couldn't imagine ourselves building a working website, ios app and backend in less than one week), we were really proud of our final result. We stepped up to the challenge and pushed our limits, and we were pleasantly surprised at our end result. Although there were a lot of features that we didn't get to adding, we ended up creating a product that incorporated a lot of the original ideas. Creating a working app that united the community under the goal of supporting restaurants and charities was truly fulfilling and satisfying.

What we learned

This hackathon was extremely educational for us as we learned a lot (about both coding and teamwork)! We learned how to utilize the AWS S3 Database as well as mastering the use of Flask for different needs throughout the app. We also learned a lot about Natural Language Processing and Topic Modelling in Python from building the restaurant recommender AI. And although the mobile app was a challenge, we ended up getting it to work as well, fomenting our skills in Swift. Not only did we learn a lot about programming, we also learned how to work together in a high pressured environment. Since this was a virtual hackathon, we had a lot of difficulty at the start keeping track of each other and what we were supposed to do. But then, we started assigning roles, keeping track of our project through Asana and Smartsheet (tools that none of us had experience with) and regularly talking with each other on discord. After that, our project began flowing much more smoothly and by the end, we were able to complete it!

What's next for Bread and Butter

Bread and Butter will soon contact many restaurants around the area that might seek assistance, allowing them to survive and continue. It will help various charities such as The Innocence Project, George Floyd Memorial Fund, or even the Alameda Food County Bank. Future implementations will also contain more personalized messages and additions curated for the user's spending habits and activities.

Share this project:

Updates