AgriFlow
Inspiration
AgriFlow was inspired by a real problem I see at home. I come from a rural background, and my mother is a farmer. One of the biggest challenges she faces is finding buyers for her crops. Sometimes the crops are ready to sell, but there is no easy way to reach buyers quickly. This often forces farmers to rely on local markets or middlemen, which can reduce their profits.
Watching this struggle made me think about how technology could help farmers connect directly with buyers. If farmers had a simple platform to showcase what they are selling, and buyers could easily discover those products, it could improve the flow of agricultural trade.
This idea led to the creation of AgriFlow, a digital marketplace designed to help farmers list their crops or livestock and connect with potential buyers more easily.
What it does
AgriFlow is a simple marketplace platform that connects farmers and buyers.
Farmers can:
- Post crops or livestock for sale
- Upload product photos
- Set prices and quantities
- Choose the location where the crops or livestock are located
- Manage their listings
Buyers can:
- Browse available crops and livestock
- Search for products
- See the location of listings on a map
- Contact sellers directly
- Enable notifications for new listings
Users can switch between being buyers and sellers, because farmers sometimes buy livestock from other farmers as well.
How I built it
AgriFlow was built as a full-stack web application using the MERN stack.
Frontend
- React
- Tailwind CSS v4
- shadcn/ui components
- Responsive mobile-first design
Backend
- Node.js
- Express.js
Database
- MongoDB
Authentication
Users sign up using:
- Phone number
- Password
Email is optional because many rural users may not have email addresses.
Additional features
- Map integration for selecting crop locations
- Image upload for product listings
- Search functionality for buyers
- Optional notifications for new listings
- Ability to switch between buyer and seller roles
The design focuses on simplicity so that it can be easily used on mobile devices, which are the most common devices for many users.
Challenges I ran into
One of the biggest challenges was designing a system that works for rural users. Many farmers may not have email addresses or may primarily use mobile phones. Because of this, I had to rethink traditional authentication systems and allow users to sign up using just a phone number and password.
Another challenge was handling location flexibility. Farmers may not always be physically near the crops they are selling. For example, a farmer could be in Nairobi while their crops are located in Meru. To solve this, the system allows users to either use their current location or manually choose another location on the map.
Designing a marketplace that supports both crops and livestock while keeping the interface simple was also challenging.
What I learned
Building AgriFlow helped me learn several important things:
- How to design technology that solves real-world problems
- How to build a full-stack MERN application
- How to create mobile-first user interfaces
- How to integrate maps and location-based features
- How to design systems that consider accessibility and real-world user constraints
Most importantly, I learned that technology can be a powerful tool when it is built with real users and real problems in mind.
What's next for AgriFlow
In the future, AgriFlow could be improved with features such as:
- SMS notifications for farmers and buyers
- Local language support
- Offline-friendly capabilities
- Market price insights for crops
- Delivery coordination between farmers and buyers
The long-term goal is to make AgriFlow a platform that helps farmers connect with buyers more efficiently and reduces the barriers farmers face when trying to sell their products.
Built With
- express.js
- git
- github
- javascript
- jwt-authentication
- leaflet-maps-api-for-location-mapping
- mongodb
- node.js
- react
- react-router
- render
- shadcn/ui
- tailwind-css-v4
- vercel
- vs-code
Log in or sign up for Devpost to join the conversation.