We share our experience in creating the MetaPool project, an investment and educational application for both experienced and inexperienced blockchain investors. We developed it completely from the ground up.
What exactly is MetaPool?
MetaPool is a web application that allows you to interact with the Binance Smart Chain network, grow your crypto asset portfolio, and learn more about crypto projects. During the token presale stage, investors can invest in these projects through the CoinList, Polkastarter, and DAO Maker launchpads.
Why is this web service required?
- MetaPool acts as a go-between for investors and crypto startups.
- The main objective of the service is to promote the cryptocurrency and build an ecosystem in which everyone, including newcomers to the blockchain, can work and develop comfortably.
- The app allows you to invest in crypto projects even if you don't have a lot of money in cryptocurrency. The educational specialists on the platform carefully check each project that can be approved. Based on the information provided, the client can evaluate the proposed investment product.
- MetaPool solves the problem of a lack of a minimum number of tokens for staking by pooling users' assets. To take part in token sales on launchpads, large pools of cryptocurrency assets or compliance with the conditions for holding a certain number of project tokens are frequently required; many investors simply cannot meet these requirements.
MetaPool is a financial ecosystem that resembles a joint purchase and allows users to invest in projects starting at $50. For example, if the launchpad's minimum stake requirement is $1,000, MetaPool users pool their assets and fulfill the requirement. After listing the tokens, the service distributes the profit to all investors.
The customer was a Georgian financial tech company that brought together cryptocurrency enthusiasts, developers, and economists to create an investment and educational service.
Create a turnkey project. The customer only had a brief description of the project.
We always start development with the following steps:
At this point, the client approaches us with a project concept. We develop technical specifications and prototypes that reflect the product's simplified appearance. This time, project manager Dasha created balsamic prototypes.
- Making a list of possible performers
In order to establish labor costs and work costs, we gather a group of developers who will be working on the project and describe an approximate pool of tasks so that they can assess labor intensity.
- Project evaluation
We consequentially assess how much time our engineers will devote to each design block: front-end, back-end, design, and testing. Any block is divided into functional units: prototyping or finding a visual solution for design; page functionality for the frontend; models of structural units and the logic of their interaction for the backend.
Evaluation by independent blocks enables the client to request a price and decline some functionality right away.
- Team composition approval
We hold team meetings to plan the distribution of tasks after assessing the scope of work. If we see that the front-end development will take 5 months and the back-end will take only 2, we will add a second front-ender to the team to reduce the lead time. That after, the team's composition is finally approved.
- Creating a project budget
The cost of the project is the sum of the cost and the number of hours of work of the team members. The final cost of the project in this case may differ from the preliminary one, because the hourly payment implies flexibility, variability and the ability to make changes during the development of the project.
After that, work on the creation of the application begins.
The MetaPool web application was created by 8 people:
- Project manager;
- Project tech lead;
- Backend developer;
- Two frontend developers;
- Solidity developer (smart contracts);
- Frontend: TypeScript, React, MobX;
- Backend: Python and Django;
- Smart contracts: Solidity;
- Design: Figma;
- Testing: Qase.io
- Communication with the client: Telegram; the customer actively participated in the work, and we called him at least once a week (usually more often).
- Issue tracking and repository management: Trello and gitlab.
The work was carried out in three areas at the same time: design, backend, and frontend.
We decided to make the front "ugly" — a bare toolkit with no styling — in the absence of design. This enabled us to test the completed functionality quickly and efficiently and demonstrate working progress to the customer. We saved time by applying the finished design to previously developed and tested functionality.
Functional changes were quickly implemented into the project at the customer's request. One of them was the implementation of the option for users to conduct gas-free transactions. Such functionality necessitated the development of smart contracts, which we did not anticipate during the evaluation stage. As a result, we quickly expanded the team and linked our solidity developer Roma, who built three smart contracts from the ground up to work with the GSN system:
- The first, MetaPoolDeposit, allows users to replenish their platform balance without incurring gas fees;
- MetaPoolPaymaster is in charge of validating and paying for so-called gas-free transactions.
- The third smart contract, Holder, allows the user to block their MTP for a year in order to improve their platform grade.
As agreed with the customer, functionality was added to the fourth, already written smart contract, the METAPOOL token: the token contract had to be associated with the Holder contract so that the user could unfreeze their MTP by a simple transfer to the Holder address and block them on the Holder contract.
The entire investment web service development project was completed in 3 months.
We evaluated the project based on the customer's description and completed the entire technical component from scratch: front-end, back-end, design, testing, and writing smart contracts.
The result was MetaPool, a service for safe investment in crypto projects based on a sharing approach. The application gives all crypto-lovers the opportunity to profit from closed pre-sales without having to go through complicated procedures for holding tokens or increasing a participant's rating.