Inspiration

We got inspired by the ideas of agriculture and how farming can be improved outside of the physical scope.

What it does

We used a .csv to train our RandomForest model to decide crops to grow based on certain land characteristics. From there, we display analytics as well as features such as crop yield and

How we built it

We built FarmForward using a tech stack combining machine learning and web technologies. The frontend is developed with React 18 and TypeScript, utilizing Vite for fast development and build processes. We implemented a responsive UI using Tailwind CSS and Shadcn/ui components for a professional agricultural interface.

For the machine learning backend, we used Python with scikit-learn to train a RandomForest classifier on agricultural data, considering environmental factors like temperature, humidity, pH levels, and rainfall. The model predicts optimal crop recommendations based on soil and climate conditions.

We used Firebase for authentication and database storage. The application features interactive farm plot management, real-time crop selection based on ML predictions, and comprehensive dashboard analytics. We deployed the entire system to Firebase hosting with a custom domain setup.

Challenges we ran into

Model integration was the biggest challenge. Trying to connect the ML model to the frontend took some time. We also ran into some problems installing the APIs. Our web app also ended up being quite large in size, which could be improved on.

Accomplishments that we're proud of

We successfully normalized the dataset and used it to train the ML model to provide accurate crop recommendations. We then managed to develop a fully functional web app that integrates this.

What we learned

We learned how to effectively integrate machine learning models with web apps, and use firebase as a a means to store data.

What's next for FarmForward

We may use LLM as an additional tool to more accurately analyze the current market prices and trends so that we are not stuck with the same csv values. We will also integrate a real-time weather API.

Built With

Share this project:

Updates