Inspiration

Our team is composed of big foodies. We love to eat and interact with our community via dining at local restaurants. However, we noticed that more and more of our favourite spots are closing down, leaving only fast food chains in the neighbourhood food plazas. We noticed the rapidly increasing menu prices and spoke to restaurant owners who told us about rapidly rising costs due to rampant inflation. The increase in prices of ingredients played a large part in this newfound expense, in particular, that of dairy and fresh fruit. We often cook for ourselves too, but even that is becoming more expensive. We developed The Fastest Root in order to help local restaurant owners and families purchase their groceries at the lowest possible price in the most efficient manner, allowing them to continue feeding the community.

What it does

The FastestRoot app allows users to input their grocery lists and searches the web for nearby grocery stores and the prices of their items. We consider a variety of factors, such as the number of stops which the user is willing to make, as well as whether they can access membership-only stores such as Costco. After this, the app calculates the cheapest set of grocery stores to shop at in order to procure their groceries along with the most efficient route in order to purchase the items. Users are then provided a corresponding google map to visualize the information and navigate to the grocery stores to easily and effectively secure their groceries. We also offer a distance and cost saved statistic for users to actively track the money and time they save so that they can more effectively allocate their time and resources!

How we built it

We built the full-stack web app using Next.js and React for our frontend and an Express/Node.js backend.

To web scrape for grocery prices, we used the Puppeteer Javascript library and to display the map of the most efficient grocery shopping route, we used the Google Maps API.

Challenges we ran into

  • Deploying the backend on Vercel as we ran into many configuration issues.
  • Merging components and their styling from a standard React app to a Next.js app.
  • Writing organized code which would have made it much easier to debug and maintain.

Accomplishments that we're proud of

  • Creating a fully functional web app despite using unfamiliar technologies such as the Google Maps API and Typescript.
  • Managing time well and finishing well before the deadline.
  • Creating a solution that genuinely has real world applications.

What we learned

  • New skills like web scrapping.
  • The importance of project management (designing the website, distributing tasks, forming a timeline).

What's next for The Fastest Root

  • We are committed to deploying the backend, allowing the hosted web app to be functional without running the server locally.
  • We can make use of the web scraper to allow users to import ingredients directly from recipe pages.
  • We hope to further improve our use of web scraper to speed up the route generation process.
Share this project:

Updates