Inspiration
In 2020 alone, over 5,000 Indian farmers took their lives due to the lack of crop yield and the level of debt they faced year after year. These farmers had generational experience in harvesting crops: but all that knowledge became obsolete as pesticides and climate change fundamentally transformed the Indian agricultural landscape. This is an issue afflicting local farmers, particularly in third world countries, across the globe.
We were inspired to come up with a solution that supports farmers in today's changing agricultural world using machine learning technology.
What it does
Based on a farmer's region and acreage, they get recommendations for crops that produce the most yield and total revenue for the year based on climate data and market trends for the crops that are popular in their region. There are overview statistics as well as graphs and tables showing the reasoning for the trends in depth.
How we built it
We built this app with love ❤️. But here's our stack, too:
- Swift (Xcode): Used to build the front end of our application
- Google Cloud Functions: Used to make queries to the REST API
- Google Cloud API Gateway: Used to provide public access to the cloud functions
- Flask REST API (Hosted on Google Cloud): Backend of the app, used to connect to the database
- PlanetScale (MySQL, AWS RDS): Database built and hosted on AWS PlanetScale
- Google Cron Scheduler: Runs the machine learning algorithms as yearly reports come out
- Python (Streamlit, hosted on Streamlit Community Cloud): Streamlit websites integrated into the mobile application, displaying data from crop based queries
- Python (Machine Learning Model): Used historical climate-based and market-based data to predict the most viable crops as well as predicted yields and crop prices for the next ten years following exponential patterns
- FIGMA: Preliminary UI/UX Design
- Google Sheets: Utilized for simple data cleaning process and prototyping database architecture
Challenges we ran into
Ideation challenges: At mid-day on day 1, we had an ideation crisis: all of us began to doubt the viability and applicability of our application: don't farmers already know which crops are best? Do they even have mobile phones that can access our app?
We reached out to mentors, judges, peers, and conducted research to discover that these farmers don't have access to long term climate and market data that could help them make greater profits off of their yields. Additionally, we discovered that the number of farmers (and people in general) with mobile phone access in third world countries has consistently increased over the past ten years, and only continues grow (Over 69% of Indian citizens, for example, now have access to cellular devices).
Gathering appropriate data for the ML model: To ensure we had adequate crop and market data to train our models, we chose to use a national dataset from the USA as the data from a government site is plentiful and likely to be accurate. We would have preferred to get data from a third world country like India, but we couldn't find verifiable data or enough data online, and we couldn't contact their government because they were closed this weekend 😆.
Accomplishments that we're proud of
- Exploring, finding, and tuning the appropriate machine learning model for our task based on the significant features of our dataset.
- Overnight full stack development
- Pulling an all-nighter for the first time (powered by Red Bull)!
What we learned
- How to develop a full stack application with multiple feature integrations from websites such as Streamlit and from python scripts such as our machine learning model
- Learning ideation and overcoming intellectual conflicts in a team environment
- How to make a machine learning model from scratch
What's next for fAIrmer
Contact government organizations from third world regions to gain access to local data that can be used to train our model. Market our application and grow our user base to ensure we make a real impact.


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