Inspiration

In the US alone, farmers and gardeners end up throwing away about 30% of their yields, a value that adds up to $48.3 billion dollars thrown away each year. Many of these crops are wasted due to the lack of information on their specific environments. CropUp helps reduce this waste and spreads knowledge on which crops should be cultivated in a specific region. CropUp also makes it easy for beginners to pick up gardening, handpicking crops for the user's specific region.

What it does

CropUp shares the optimal crops to grow in a certain region by calculating a user's specific plant hardiness zone. The hardiness zone refers to a ranking established by the USDA which divides regions and crops, ranked anywhere from 2A to 13B, based on environmental conditions. These include average temperature, humidity, frost patterns and more. By using CropUp, users will be able to determine their specific hardiness zone for their city, while also learning what plans are best suited for said zone. What makes CropUp unique is that it utilizes a machine learning algorithim that determines the user's zone based on current weather trends, adjusted for the changing climate. CropUp provides both farmers and recreational gardeners with information on which crops are best suited for their region to promote green eating and less food waste.

How we built it

CropUp was developed in multiple stages. The first thing that was done was creating the UI which was done by using react js and figma for design. Then the machine learning model was created, using sklearn and the Random Forest Classifier method on python. This machine learning model was then connected to our front end using a fastAPI to provide the plant hardiness zone using response, temperature, humidity, dew, and solar energy as its parameters. We then used VisualCrossingWebServices for an API to provide us with the said parameters using the user's zipcode input to query for the parameters which were then sent to the model to return zone predictions. Zone predictions were used to provide optimal crops to cultivate based on an API containing the ideal crops to grow in each region.

Challenges we ran into

Since this was our first time working full stack, we found frontend-backend integration to be difficult. To remedy this, we utilized multiple online resources as well as the debugger to eventually get a flow from backend to frontend and vice versa. We also had to create our own dataset for our ML model as we ran out of time trying to implement the current dataset which would aid in predicting the plant hardiness zones.

Accomplishments that we're proud of

The biggest acomplishent that we're proud of is that we have a working user experiene in such a short time period. By creating the webapp itself, we're very proud that we have something to show our potential future users, allowing us to implement their feedback and more. Having very little experience in ML, APIs and integration with frontend, being able to have a model that combines both Machine learning and APIs while being fully expressed on the front end, we are very proud about all the skills we learned during this hackathon.

What we learned

We learned a lot about using ML, and how to specify specific entry parameters to receive an output. Before this project, we did not know about the specific rules behind implementing a machine learning model and how the best way to implement a model is to use unbound data. We created our model in python, allowing us to polish our python skills, while also connecting said model to our react web app. This process allowed us to better understand the difficulties in creating a smooth backend to frontend flow while keeping the user experience intact. These skills will prove to be invaluable wherever we go so we were so excited to get the opportunity to practice them. Finally, we also learned what plant hardiness zones were and how useful it is to know when it comes to growing fruits and vegetables.

What's next for CropUp

CropUp has many plans for the future. Firstly, we would like to gather more data to make our ML model much more accurate. This will be done with lots of research on current weather conditions and zone descriptions as well as possible API integration to constantly update this dataset as weather changes. Secondly, we would like to customize our application further for those using it for business purposes vs those using it for recreational purposes. We also plan on creating a mobile application for CropUp as a supplement to the web application. Further in the future, we would also like to incorporate image processing to help inform users on when its time to pick the fruits and vegetables they've been growing to avoid them from going bad. We hope to achieve these goals in the near future and plan to keep evolving!

Built With

Share this project:

Updates