Inspiration

Chamas are one of the most popular ways used to pool investment by people in East Africa. Members of a chama usually agree to meet on a particular day each month during which they each bring to a table, which in Swahili is meza, the amount of money that they agreed to contribute monthly. From this pool of money, members in need can request a loan which is payable at a fixed interest rate, usually 10%, per month.

As noted, chamas are very social by nature. This has made it really difficult for many chamas to keep running during the Coronavirus due to restrictions on social gatherings. Those that have managed to keep up on the other hand are faced with challenges such as keeping accountability of the pooled funds which is a criitical requirement in any financial application.

What it does

Meza aims to make it easier for chamas to keep their financial records in check while also helping them to keep running during the pandemic through use of mobile money.

How I built it

I used React, JavaScript and Firebase to build the application. For mobile money transactions, Safaricom, the telco behind MPesa, provides an API for interacting with the service.

Challenges I ran into

The main challenge I have faced is time. I've mostly worked on the project during weekends and I'vethus not been able to implement some features I wanted to when I conceptualized the idea.

Accomplishments that I'm proud of

I am happy for the push that this hackathon has given me to be able to begin working on something thatcould benefit the lives of many and that I've been able to build an MVP to showcase the idea.

What I learned

I've enjoyed learning about the Stellar platform and the opportunities it presents in simplifying traditionally rigid processes especially in the financial space, as such I'll be looking to use Stellar to build out some ideas that I have.

What's next for Meza

I'll continue to work on the core features of Meza and propose it to my mum's chama for a pilot phase to see how well it is received and how I could optimize it.

How Stellar Is Integrated in the app

The application has a main account, GCMEZA2M6LTEGDJ5TFHGZ44VQUKT4KGMVTDVP5645X3LBCMHHE4EQBFU which is used to create all wallets for users and the Savings Groups that they create. This account also issues the KESM asset which is tied to the Kenyan Shilling to users who deposit money to the application via mobile money. Each Savings Group has its own wallet on the Stellar blockchain to allow us to easily keep track of all transactions relating to a particular group. In addition to that, each member of a group has their key added as a signer to the Savings Group's account, thus making it necessary to achieve quorum for medium and high threshold transactions such as Payments.

Stellar Features Used

  1. Sponsered reserves: All user and savings group account operations are sponsored by the main Meza account(see GBIUKQMHC6ZLSY4G4RU76SEWM5JW2DND3PURJHXBPDFLSAFBKEHSA7EC and GB36442NL7NMPIOT45ILXRV2L3IRV3LQJ66UVWBMKHCLN5RQEC4MHNTZ). By doing so, we can allow our users to stay focused on the task at hand, running a savings group, instead of going through the hustle of learning the basics of the Stellar blockchain and keeping XLM reserves.
  2. Fine grained asset authorization: The KESM token can only be issued toauthorized accounts. This allows us to make sure that all KESM holders are users of Meza.

Code for creating accounts can be found at functions/index.js in the repo

How Stellar is used

Built With

Share this project:

Updates

posted an update

I'm so grateful to have been selected among the 5 finalists of the Meridian hackathon. I've had quite a wonderful experience learning about Stellar over the past month and can't wait to build more!

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