Inspiration
We were actually inspired by the John Deere intro speech by Daniel Grum. One of us is also currently taking an environmental science class and we identified various environmental issues and pains within the farming industry that we thought we could solve.
What it does
CloverWatch is a web app that assists both farmers and the general public in better managing and understanding the impact that their farm has on the environment. CloverWatch provides tools such as crop rotation scheduling, soil analysis reporting, field mapping and annotations, and weather forecasting.
How we built it
We built the app using Typescript, React, and Tailwind CSS. We used Supabase as our backend-as-a-service for setting up the PostgreSQL database and user authentication. We used MapBox for the mapping functionality, React Hook Form and Zod for building our forms.
Challenges we ran into
We ran into various issues trying to get the MapBox library working properly and saving the annotation data. We also tried to implement React Query to improve our data querying and data invalidation, but we were able to get the library to work with our Next.JS setup.
Accomplishments that we're proud of
We're really happy with the overall design of the app and the mapping integration we did with MapBox. The app has a lot of potential for helping farmers be more productive with managing their fields while better understanding the impact of their farming operation on the environment.
What we learned
We learned a bunch about soil analysis and farming operations. MapBox was also a newer library for us and was very exciting to use and setup.
What's next for CloverWatch
We would like to add more forms for entering soil analysis data into the app, charts and graphs for better visualizing field data, and integrating React Query to improve the reloading issue with the data from the database.
Built With
- figma
- nextjs
- postgresql
- react
- react-hook-form
- supabase
- tailwind
- typescript
- vercel
- zod

Log in or sign up for Devpost to join the conversation.