project screenshot 1
project screenshot 2
project screenshot 3

Moai: Community Fund Management

It’s much easier to go through life knowing there is a safety net. Moai allows users of local communities to pool money and use it whenever someone needs it through a vot.

Moai: Community Fund Management

Created At

ETHIndia 2023

Project Description

A Moai is a group of lifelong friends who are invested in each other financially, spiritually and emotionally. The term originated hundreds of years ago as a means of a village’s financial support system. Originally, Moais were formed to pool the resources of an entire village for projects or public works. If an individual needed capital to buy land or take care of an emergency, the only way was to pool money locally.

It’s much easier to go through life knowing there is a safety net, Moai helps communities know that there is a fallback incase something goes wrong.

The problem with traditional Web2 is payments are very difficult. Dealing with Banks, Governments and other middlemen is very cumbersome. Web3 makes payments a breeze. So any sort of financial transactions can happen instantly and without any hassle. Additionally, the voting mechanics enabled by Smart Contracts allows full transparency and fraud prevention. A member cannot use influence to withdraw funds from the common fund, they HAVE to initiate voting and gain majority votes.

Although I am well versed with the theoretical concets of Web3, I lack the ability to build dapps fast as I am a full time Mobile Developer. I strongly believe that dapps are too focused on the browser while majority of everyday users use apps. The UX for crypto on mobile apps is less than ideal. Being a experienced mobile dev, I chose flutter to work with this project despite it not having the best support for dapps like the Javascript ecosystem. Although not a complete success, In the 2 days of the hackathon I was able to pinpoint the issues and problems with building on flutter and plan on building tools to solve these problems. My biggest issue with web3 ux on mobile is wallet connectivity and hence I have tried to make my own wallet implementation in flutter and use that for Moai. This prevents the user from having to switch apps and does not make them feel that they are doing something different.

Links

How it's Made

Honestly, everything about this project was challenging mainly because of the Tech Stack that I have chosen. I am not comfortable with the Javascript ecosystem as I do less work and fight with the framework more. Being a mobile dev with over 4 years of experience, I chose flutter. There is lackluster support for flutter in the context of web3 and dapps. A lot of stuff had to be implemented from scratch. If SDKs were available, they had terrible documentation or no documentation at all. Moreover, these SDKs were usually several versions behind the main Javascript SDK.

Some notable Challenges:

  1. Figuring out how to create the correct signer for XMTP when using my own wallet implementation
  2. Analysing Huddle01's Flutter SDK and trying to demystify it
  3. Figuring out how to send PushProtocol notifications remotely from a contract
  4. Trying to get the PushProtocol events the trigger on the flutter application
  5. Creating an interface between the smart contract code and flutter. Too much old outdated code on the internet and hence finding something that works took a lot of experimentation that ate up time.

Lastly, was not able to work much on the second day of the hackathon due to some prior commitments. lost about a good 12 hours of work that I could have used to build the UI. Currently the app is just a bunch of individual demo playgrounds that aim to demonstrate individual features before combining them all together.

As I said, in general everything was harder to implement because of the apathy towards flutter by major SDK developers but this has helped me get some motivation to build flutter specific web3 tools! Hopefully I can build them and put them to use by the next ETHIndia!

background image mobile

Join the mailing list

Get the latest news and updates