We aim to built native mobile app (Both iOS and Android) for AAVE. By allowing mobile users (without any desktop access) to access AAVE via simplified user on boarding, we expand AAVE reach to broader audience
We believe AAVE is a great product that allows users to earn passive income while holding the digital assets. By allowing mobile users (without any desktop access) to access AAVE via simplified user on boarding, we expand AAVE reach to broader audience.
Contrary to centralized world, Most of the DApp are desktop based and do not provide the native mobile app. I am from India, where mobile penetration is much more higher than desktop/laptop. This is true for most of developing world like Indonesia, Africa continent, South Americas etc. If we truly want to bank the unbanked, we have to think about mobile first approach. Even in developed world, people spend more time on mobile than on computer. Look at coinbase, it has 15M app download.
Assuming 2x penetration, A native mobile app for Aave presents another $4.5B opportunity.
a) We've built native mobile apps (iOS & Android) for Aave. Our app (Aave on Mobile) supports everything that Aave desktop supports - Deposit, Borrow, Withdraw, Repay, Switch Interest Rate, and Collateral settings.
b) In addition to Aave features, We added more functionality to it - Swap tokens via 1inch. This will be helpful if user doesn't have the token that Aave supports. Single click swap service with best exchange rates.
c) We also simplified user on-boarding experience by allowing user to create a new wallet. User can also import his existing wallet.
Overall, We provide a complete user experience.
This project leverages several technologies.
Mobile app is built using flutter language from google. It allows us to code once and both native iOS and Android app are generated. Positive side - it keeps both the app in sync, Negative side - not many 3rd party packages are available. We had to write a lot of packages. For example - QR code scanner
For backend, we used Google cloud run micro services architecture. Using node.js, We build 1 micro-service for each functionality. For example : Deposit function on AAVE has its own micro-service. We deployed 13 micro services
For backend, REST APIs, we used google cloud end point. That talks to above mentioned micro services.
We also deployed small services (using node.js) on AWS that gets quote prices from 1inch and prepare charts. All quote data is store at 5 mins level so prepare trading view charts (Available on mobile app)
To pass the data between AWS, Micro service and Mobile app we used - Google pub/sub message queue. It's a serverless so can be scaled as per load. Again we used node.js for messenger service.
User's wallet private key is encrypted & stored on the mobile device. We don't even let apple key chain to access it. It is only used to sign txn and broadcast. It's never shared with backend.