Inspired by crowdfunding apps such as Kickstarter and Indiegogo, we have built a crowdfunding app, Olifant, with Blockchain Harmony technology, which allows investors to directly donate cryptocurrency to crowdsoured projects. Olifant is built for mobile devices and currently supports ONE as its main currency.
The simplicity of donating via an in-app wallet makes Olifant highly accessible for all potential investors while the fact that it is completely free makes the app irresistible for all potential crowdsourcers. Yes, unlike many other crowdfunding apps, we do not charge a 5% fee per donation. Olifant is built with Smart Contracts and serverless solutions, which allow it to operate without users' monetary contributions.
So, take a deep breath, pick up this Olifant, and make your project known to the world!
What it does
Olifant is a crowdfunding app for mobile devices.
There are 2 groups of users for Olifant: investors and crowdsourcers.
The shared features for these 2 groups include:
- Built-in account management. We can both import the data from an external source and use in-app data.
- Browse currently active crowdsourcing projects.
- Donate to projects of choice using native token ONE
- Monitors projects that they have invested in
- Get their money back in case the crowdfunding campaign is unsuccessful
- Introduce, describe and update their projects
- Receive money if the crowdfunding campaign is successful.
How we built it
We built Olifant with 2 main components: Smart contract written by Solidity and deployed to mainnet, and Interface written by Flutter.
Smart Contract: There are 2 main parts for Smart Contract: Factory and Campaign. Each project is an instance of Campaign while the management of each crowdsoure campaign is handled by Factory contract. All financial data is processed via these Contracts.contract campaign is responsible for managing all the logic of the crowdfunding campaign. The Crowdsourcers can only withdraw money from the smart contract when all conditions are met. Investors can also withdraw their money when the fundraising campaign fails.
Flutter: We interact with Smart Contracts via JS-wrapper functions. We store project updates and comments by users in Firebase Firestore.
Challenges we ran into
Accomplishments that we are proud of
We are proud of overcoming the very challenges that we face when choosing to build Olifant for mobile platforms. Right now we can use JS wrappers like native functions in the app. We had the change to dig deep into SDK provided by Harmony and are writing a Harmony SDK for Flutter/Dart. We are hopeful to complete this library and publish it as an open-source soon.
What we learned
How to run an effective team remotely was the first thing that we learnt doing this project. Even though the entire team was working from home, we have coordinated with each other well enough to make Olifant work.
What's next for Olifant?
In the next versions we will try to improve user experience, publish the apps on AppStore and Google Play and, if possible, build a web-based version of Olifant.
Currently all financial data is processed on Harmony while operation data such as project updates and comments are stored on Firebase. We will move all operation data to Harmony so that Olifant can operate without any fee. We are adding other tokens besides ONE to our list of supported cryptocurrencies.
After improving user experience to a certain level, we hope that there will be Defi apps similar to Balancer, Curve, or Uniswap like Ethereum on Harmony. Then, Olifant can provide liquidity to these apps at a reasonable interest with the money from running crowdsourcing campaigns, helping crowdsourcers speed up their campaigns and quickly achieve their funding goals.