Inspiration
Our inspiration for AgroAssistant came after doing research on farmers around the world and discovering the main struggles they face. Many farmers deal with limited access to reliable data, unpredictable weather, and inefficient irrigation systems that hurt productivity. We decided to take these challenges — and several others such as crop disease detection, soil management, and market uncertainty — and turn them into an opportunity to create AgroAssistant, a smart solution designed to make farming easier, more efficient, and data-driven.
What it does
AgroAssistant is an intelligent web-based farm-management application that relying on AI, live data of weather and soil, and interactive mapping allows planning, monitoring and optimising of irrigation, fertilisation, planting and harvesting in farmers. It provides real time soil moisture and temperature readings, 3 days weather predictions, identification of disease through plant photos uploaded, and map based tracking of crops / lots with automated NPK and irrigation recommendations. Customers have the ability to chat with AgriBot and create a personalised farming plan and see statistical images of their land yield, water consumption and fertiliser usage. Concisely, AgroAssistant will convert raw environmental data into actionable information to ensure faster and smarter and more sustainable decisions by farmers.
How we built it
We built AgroAssistant as a full-stack smart farming web app using Python, JavaScript, and AI-powered APIs to turn real-world agricultural data into actionable insights for farmers. Our core stack includes: Languages: Python, JavaScript, HTML, CSS Frameworks: Flask (backend), Jinja2 (templating) Database: Firebase Firestore Frontend: Chart.js, Google Maps JavaScript API AI & APIs: OpenAI GPT-4o-mini, StormGlass, WeatherAPI, Trefle, Plant.id Deployment: Vercel via wsgi.py with SEO routes (/robots.txt, /sitemap.xml)
Backend Architecture The backend uses Flask for routing and API handling, connected to Firestore for persistent storage of user profiles, crop data, schedules, and cached weather data. We built modular routes for the dashboard, plots, crops, diagnosis, and scheduling, with daily caching of StormGlass and WeatherAPI data to reduce load times and API calls. The system also includes server-side authentication using the Firebase Admin SDK for secure user sessions and validation.
AI & Plant Health Scoring AgroAssistant integrates several AI-driven features using OpenAI GPT-4o-mini. Our AgriBot chatbot provides expert agricultural advice, while custom AI prompts generate crop care tips and monthly farming schedules. We also developed a plant health scoring system that calculates an average growth index across all active crops:∑n_i=1 g_i/n where g_i represents each plant’s growth score, averaged and normalized to a 0–100 scale. This score updates dynamically based on weather conditions, soil moisture, and temperature, giving farmers a clear visual of overall field health.
Frontend & Visualization The frontend, powered by Jinja2, Chart.js, and the Google Maps JavaScript API, delivers a responsive and data-rich user experience. Farmers can draw plots, track irrigation and fertilization events, view weather insights, and monitor crop performance in real time through clean visual dashboards. Charts and map data are synced with Firestore
Challenges we ran into
In other words, the hardest part was to get a group of diverse APIs to co-operate; each having its data models and constraints, geospatial accuracy consumed its share of nights without sleep, on our side; and geospatial accuracy consumed its share of time, as well. Computation of plots area under irrigation areas using Google maps data sound easy but proved to be frustrating. Then there was the AI scoring system of the health of plants: We needed to find a way of correlating live soil data, live weather data and prediction of growth to come up with a simple score between 0 to 100. Getting these moving pieces to work in real time was indeed a headache to get it working together; but once we broke AgroAssistant, it made it smarter and much more reliable..
Accomplishments that we're proud of
The feature which we are the most excited about is the diagnostics tool. We trained an artificial intelligence to view the picture of a plant, identify what is wrong with it, and then provide clear instructions of how to correct it step by step. Pretty wild. It can even inform when a plant is doomed to die, or that there is still a chance. The fact that we can receive such kind of instant feedback is indeed something that we take great pride in.
What we learned
We have found the way to fit AI, data analysis, and design into a mold, which is used in real-life problems of farmers. Managing that many APIs has taught us a lot about compromise between accuracy and usability. We also, above all, came to know about teamwork: There is no single person who can make this come to fruition. Sharing the burden and working as a team gives rise to something that hits its target in wonderful fashions.
What's next for AgroAssitant
AgroAssistant is now not to the public but we are planning to do it. Our strategy is to approach farmers with the help of social media, e-forums, and ag networks. Then, it will be time to collect competitions and user reviews, create language support that will allow anyone to use it, and begin collaborating with agricultural institutions to assist them in putting the app on as many devices as possible. We have a simple offer, transform AgroAssistant into a tool that will be of assistance to the farmers no matter their locations.
Built With
- chart.js
- css
- firebase
- flask
- google-maps
- html
- javascript
- jinja
- openai
- plant.id
- python
- stormglass
- trefleplant
- weatherapi
Log in or sign up for Devpost to join the conversation.