A TerraHacks 2024 Submission
Authors: Timothy Yung, Joanne Wijetunga, Pritumi Patel, Kyle Truong
Seasonal Recipe Collection is a web application designed to make eating both enjoyable and eco-friendly. By focusing on recipes that use seasonal ingredients, users can enjoy fresher, more flavorful meals while reducing the environmental impact of transporting out-of-season produce.
This project was created in a 36-hour timeframe for TerraHacks 2024.
- Find Your Location: The app determines your current location to identify locally available ingredients.
- Seasonal Ingredients: It identifies fruits, vegetables, and herbs that are in season for the current month in your area.
- Recipe Recommendations: Provides a curated list of recipes featuring seasonal ingredients, complete with detailed ingredient lists and step-by-step instructions.
- Front-end: React + JavaScript (optimized with Vite)
- Back-end: Python + Flask
To run the project locally:
- Create a Python virtual environment:
python -m venv /path/to/new/virtual/environment
- Install dependencies:
pip install -r requirements.txt
- Start the back-end server:
- Navigate to the
backenddirectory and run:flask run
- Navigate to the
- Start the front-end development server:
- In a separate terminal, run:
npm run dev
- In a separate terminal, run:
The inspiration for this project came from the desire to promote sustainable eating habits while making meal preparation more enjoyable and convenient. Eating seasonally not only enhances food quality but also supports local agriculture and reduces carbon footprints.
- The front-end was developed using React and JavaScript, leveraging Vite for faster builds and optimized development.
- The back-end was built using Python and Flask, handling data processing and API requests.
- To address the lack of readily available seasonal ingredient data, we implemented web scraping techniques to collect information from various sources.
- Lack of APIs: There were no existing APIs or databases that provided seasonal ingredient data based on location and month, so we had to create our own solution from scratch.
- Web Scraping at Scale: The website we needed to scrape had thousands of pages, making sequential scraping impractical due to time constraints. We implemented concurrency techniques to scrape up to 500 pages simultaneously, significantly speeding up the process.
- Successfully building a fully functional application within 36 hours as part of our first hackathon experience.
- Learning and applying new technologies like React, Flask, and concurrent web scraping during the hackathon itself.
- Creating a scalable solution for gathering seasonal ingredient data despite initial technical limitations.
- Hands-on experience with React’s component-based architecture, state management, and building interactive user interfaces.
- Efficient web scraping techniques using concurrency to handle large-scale data extraction.
- Building and managing back-end servers with Flask, including handling HTTP requests and integrating with front-end applications.
- Basic computer vision concepts for potential future features involving image recognition.
- Ingredient Recognition via Computer Vision: Allow users to upload images of their fridge contents so the system can identify ingredients and suggest personalized recipes.
- Streamlined Recipe Content: Develop a tool to extract essential information from existing recipe websites, presenting it in a simplified format for easier use.
- Enhanced User Experience: Add features like real-time notifications for seasonal updates or integration with grocery delivery services.
Seasonal Recipe Collection is more than just a recipe app—it’s a step toward sustainable living by encouraging mindful eating habits that benefit both individuals and the planet!
