Inspiration
A week before this competition, I went to a mexican restaurant with a group of friends. We were primarily vegetarians, all going together to enjoy a nice meal. However, after the meal, it came to our attention that unknown to all of us, the rice in that dish was actually made in chicken broth. I'm sure it was labelled somewhere in very fine print, but the fact that it wasn't obvious to us was alarming. That's what caused me to make this app -- to prevent myself and many people in the future from going experiencing food insecurities and potentially life threatening situations through the carelessness or inability to see hidden details about food.
What it does
By scraping several facets of yelp, it scours all of the data for reviews of restaurants and the labelled yelp menus to analyze whether or not any inconsistencies in dietary needs are actually present. It also has functionality to determine the best restaurant for specific dietary restrictions based off of given constraints and cuisines, allowing users to dine in confidence knowing they picked the best choice.
How we built it
I used React to model the front end and flask to model the backend. I used HTML/CSS/JS and Python as the primary coding languages, and utilized several APIs extensively in the process of building the app, including gemini, ScrapFly, openai, httpx, and more.
Challenges we ran into
This was a completely solo project, so the amount of work placed on one individual was greater than it normally would have been. In addition, this was my first time ever trying to use react at all, and the learning curve was very steep to properly utilize it. However, the biggest challenge had to do with yelp and the ScrapFly api-- yelp with it's many security protocols that I had to extensively research how to bypass in order to benefit the most amount of people, and ScrapFly which completely ran out of it's quota and shadowbanned this entire IP address, preventing me from testing significantly.
Accomplishments that we're proud of
I'm proud of what I was able to accomplish: prior to the systems breaking, I was able to confirm that every system had worked, although in disjointed elements. I'm also proud of my ability to troubleshoot and overcome problems (I spent over 7 hours trying to bypass yelp's security and protocols). In doing so, I also ended up learning a lot about web scraping and digital security, which is something that I am sure I will take with me for the rest of my life.
What we learned
I learned a lot of things in the process: how to properly use react and set up an entire react-flask project, which was completely foreign to me prior, how to build a web scraper (this was my first ever web scraper), how security protocals on websites work and the steps needed to bypass them, how to effectively and time efficiently use generative ai prompt generation, and more.
What's next for Sustanance Sentry
There are a lot of steps: geting a full API for ScrapFly to properly test, finishing testing all the edge cases for the program, expanding usage to work without time intensity or quotas, expand the services beyond yelp, and many more. You name the idea, and that's a step that Sustanance Sentry will take in the future.
Log in or sign up for Devpost to join the conversation.