Inspiration
In a post pandemic world, where hygiene has become of paramount importance, and the informed consumer becomes rarer and rarer, we decided that the age of asymmetric information in the domain of food establishment health code violation was over ! Diners are entitled to transparency when it comes to the cleanliness of the business they decide to patronize.
What it does
CleanBite allows user to visualize previous violations of an establishment on a user friendly map. Users can also file their own complain, which will be sent to the Inspection Des Aliment de La Ville De Montreal. Food establishment can be conveniently searched through a search bar, by name or address.
How we built it
We built a web application that is built using React, Vite, ExpressJS, NodeJS, Twilio, and BeautifulSoup. The back end of our service is built using docker images and containers hosting our database downloader and formatter from Montreal's government website. This provides data to our web app. We also built a basic API with express that sends emails to the Montreal food inspectors which uses Twilio SendGrid to manage and send emails.
Challenges we ran into
We ran into multiple challenges such as getting the complaint data sent by clients to the Montreal food inspectors. We had to find a way to make the front end interact with a back end service which is when we decided to make a basic API in express for email sending, which would then send a request to the Twilio Sendgrid API. Another challenge we ran into in the development of the web application was the conversion of addresses to latitude and longitude values to map onto the Google Maps API. It turns out Google provides a Geocoding API for this exact purpose. We ran into challenges with the search bar, for how to organize the data and live preview the query matches.
Accomplishments that we're proud of
Managing to make the varying systems and APIs interact and work with each other without any conflicts. We are also proud of the visualization of the data, considering none of us had a strong background in front end or UI/UX skills.
What we learned
We learned how to use the Google Maps API to visualize location markers, we learned how to use the Twilio API to facilitate communication methods through their API endpoints. We learned to deploy docker images to self update the csv file hosted remotely once a week. This ensures that as new restaurants are added, the website reflects these changes. We learned that docker images cannot run two concurrent processes ! This came about when we tried to deploy the React application and the NodeJS server at the same time.
What's next for CleanBites
In the future, we would love to add functionality to provide users a way of self reporting, maybe through images, or more informal / crowdsources means than through a governmental email message. We would also like the support to sort the restaurants displayed. By allowing user self reports, we could then eventually also incorporate NLP to parse users' reviews and extract more information about the nature of health code violations in certain establishments.




Log in or sign up for Devpost to join the conversation.