We wanted to build a global P2P lending platform for farmers and borrowers. Farmers in developing countries such as Brazil and India find it hard to get financing for their working capital. The access to capital is limited and the process can take months. The average AOI(Agriculture Orientation Index), which is the ratio of the amount agriculture provides to a countries GDP to what percentage of all financing is reserved for it, for the world is at 0.65, while for Brazil it's 0.2.
At the same time, lenders in developed countries have limited access to funding loans in developing countries which typically pay a much higher interest. By combining the two and using machine learning to predict defaults/losses, we can create profits for both sides. Agriculture loans are on average more risk-free and secure than other debt products, and at the same time the bulk of them renew every year.
What it does
There are two flows for the app, one for the farmer and one for the investor. For the farmer, when he/she logs in, they can input the answers to ten questions(including the loan amount) and get a instant decision of whether they are approved or not. After that, they can make payments back to the investors through the app and track how much is funded already.
For investors, we have broken down each loan into units of 100$ each. This was done so that people can pick and invest in different categories of loans and maximize their returns(at the cost of higher risk). An investor can simply click and buy units of loans, and he will receive payments when the farmer pays back the loans.
Although we did not integrate a wallet technology into our app/product, we foresee using the Compound protocol along with a stablecoin(Tether) to run the platform. That would allow anyone in the world to send and receive money.
How I built it
For the app and database, we are utilizing Flutter and Firebase. They allow us to build simultaneously for both iOS and Android and greatly streamline the process. For training the machine learning models, we are using AWS Sagemaker. For invoking the models and getting predictions, we are using AWS Lambda and API Gateway. For storing our code, we are using Github.
Finally, the data that we are using to train our models come from the company we work at, Traive. The data consists of 23000 farmers across many years of loans in Brazil.
Challenges I ran into
Completing all of the parts is the biggest challenge. Minimizing the loss behind each loan and trying to improve the performance of the model also took a lot of time.
Accomplishments that I'm proud of
This is our view of how financing for farmers should look like. It was great to manage to build this over the course of a single day.
What I learned
Integrating machine learning models with an app, was definitely a first for both of us. At the same time, developing and deploying a model was also pretty cool. The best part about it was using technology that we learnt recently to solve a big global problem.