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
- Sponsered reserves: All user and savings group account operations are sponsored by the main Meza account(see
GBIUKQMHC6ZLSY4G4RU76SEWM5JW2DND3PURJHXBPDFLSAFBKEHSA7ECandGB36442NL7NMPIOT45ILXRV2L3IRV3LQJ66UVWBMKHCLN5RQEC4MHNTZ). 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. - Fine grained asset authorization: The
KESMtoken can only be issued toauthorized accounts. This allows us to make sure that allKESMholders are users of Meza.
Code for creating accounts can be found at functions/index.js in the repo

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