Inspiration

Food shortages will be one of the biggest issues that humanity will face in coming years, so in line with sustainability goals around the world, we decided to try and tackle it by trying to bring urban farming into the limelight.

Growing your own fruits and vegetables in your own backyard is a great way to make the world greener, make you and your family/ friends more eco-conscientious, and save money on groceries.

But running your own farm can be challenging, especially when you aren't sure what seeds you should buy. This is how we came up with Farm Buddy, an AI that tries to encourage people to farm recreationally by providing a list of the best crops for any given location.

What it does

Farm Buddy searches historical weather, seasonal, and soil information and provides accurate location-specific information about what fruits, vegetables, and other crops are best suited for its environment. It also provides a short description of why each plant should be planted in this specific location.

Buddy, our friendly ferret mascot, also appears on the screen and gives a couple of fun facts about urban farming and the crops he decided to pick.

How we built it

Farm Buddy is built on the foundation of OpenAI's text-DaVinci-003; when a user gives our Flask backend their location, it calls multiple different APIs to gather all of the location-specific data regarding factors that could affect the growth of the crop, such as the climate and season. All of this information is then sent into text-DaVinci-003, which does a lot of the heavy lifting for us and processes the information into a more digestible format to display.

We decided to use this backend API with a frontend React.js web app since it would offer the most flexibility when it came to programming and when it came to UI/UX design. While our API is making calls to other 3rd party APIs, Buddy is talking to the user on the website.

Challenges we ran into

One of our main challenges was finding a way to engineer the prompts for text-DaVinci-003 to ensure that it gave us the most relevant information possible. It took a while, but we found the best way to input the data we had found about the user's location and also figured out a way to pass that information back to our front end directly without much external processing.

Another major issue was, of course, time. Being on such a short deadline meant that we had to cut out a lot of functionality from Farm Buddy that we had wanted to achieve.

Overall our biggest challenge was nailing down the UI/UX design for our web app; we had strong design intentions for our project and wanted to create this idea of 'Buddy'. We spent far too long making sure our colours were right and that our transitions were as smooth as possible. Near the end, we did have to cut some corners, which was very disappointing, but we still are very proud of our final product.

Accomplishments that we're proud of

Our design and UI are definitely what we are most proud of especially considering the amount of time we spent working on them.

What we learned

The main takeaway for us is the importance of proper planning and time management and understanding how best to complete our goals within a given time frame -- how to be realistic. It was also very interesting getting to play with the openAI APIs and learning how best to engineer the prompts to build an actual web app using it.

We also learnt a lot about how best to work together as a team, how to delegate tasks and break down large complex problems into smaller ones that are easier to tackle.

What's next for Farm Buddy

Next, we'd love to add more features:

  • A way to track your harvest's based off of what season you're in and how long until the next one
  • A database of different crops/ seeds and how to take care of them best given your climate
  • Making buddy have more dialogue options and overall more interactive
  • The big one is definitely trying to fully deploy our site so that it's available for everyone to use

Built With

Share this project:

Updates