Inspiration
As a musician, when I talk to other musicians I am able to discern a common issue: it's hard to get your songs heard. And it's even harder to get good quality feedback and an easy way to know your target audience. While some solutions exist in web2, those often solely focus on pumpinp your play counts on spotify (submithub for example) and do little to truly increase your fanbase. Inspired by the strong community-building tools of web3, I built Uncovr to make it easy for musicians to get quality feedback and accurate analytics on their audience.
Another important source of inspiration was the idea that web3 dapps should feel like web2, so be easy to use for anyone with a browser, and not require complicated onboarding for non web3 users.
What it does
I used web3 to accomplish three main goals: 1) Reduce operations cost ( as all payments are automated with a smart contract) 2) Develop a peer-to-peer payment system. 3) Develop web3 community-building features further to help musicians with their fanbase.
The app is basically divided into two main features:
- Requesting Feedback
- Giving Feedback
To request feedback, artists can easily fund their account through web2 methods (Stripe/paypal ) or web3 (polygon). Then, they can simply upload their song and request feedback for it easily. They can customize the questions to ask to users so that it's relevant for the artist. They also choose how much every user will get if they give good feedback. Once the request is made, the artist simply has to wait for feedbacks to pour in. Then, they can review the feedback, and send the agreed upon amount to people who gave useful feedback. This is a big advantage of our web3 peer-to-peer payment system.
To give feedback is quite simple. As users login with their spotify account, it only takes a few seconds to build a detailed profile of the user's prefered musical genres and artists. Afterwards, they can simply go and review songs, giving detailed feedback. When they login with spotify, we also create a polygon wallet for them.
All transactions are done in the backend so the user does not even have to feel like they are using web3, unless they want to. We will also implement a way for users to import their own wallet, for those who prefer decentralization over convenience.
This gives Uncovr an edge over similar web2 apps which often hold the users' money for long period of time, take a big cut and do not let users pay other users directly, and require long waiting periods to withdraw the money.
How we built it
I used react native for the front-end, node js for the backend, and solidity for our polygon smart contract. I have also integrated etherjs in the backend to process smart contract transactions.
Challenges we ran into
I had to make important choices regarding decentralization vs convenience. For example, should we let users import their own web3 wallets, or should we implement custodial wallets? The first option is better for people who want to own their keys, but it way less convenient for web2 users who do not know crypto. In the end we opted for a hybrid option, where users can either import their wallet or use a custodial wallet. Implementing this has been a bit of a challenge so the full implementation is not ready yet, but the smart contract was built to support this feature.
I also had to make important decisions regarding what I could develop in just 6 weeks. I decided to focus on the feedback and peer-to-peer payment features and integrate more web3 community building features later on. This was a hard choice but ultimately the basic goal of the app needs to work well.
Accomplishments that we're proud of
I made it really easy and quick for users to login and start requesting or giving feedback. That was one of the most important point for us, users should be able to use the app in less than a mn. Our smart contract is also quite efficient, as even paying many reviewers at once does not cost much gas. I also believe that Uncovr is really easy to access for web2 users. They might not even realize that web3 is powering the app, but they will surely notice the various advantages of Uncovr over other platforms.
What we learned
I learned how to use we3 to implement a complete payment system for a mobile app.
What's next for Uncovr
I want to keep building using web3 features to bring all those advantages to any web user. For example, the next feature I will implement is a "Thank You NFT". If someone gives an artist some really good feedback, the artist can send the personalized NFT to the user. Doing so, the user gets to show off the NFT, and if the artist ever becomes famous it will have a great sentimental value. This kind of features leverages the potential of web3 to build strong and tight communities.
Advantages over similar web2 apps
- Users own their Money
- Instant Withdrawal
- No minimal amount required to withdraw
- Artists can choose how much to pay others
- Artists can review feedback before paying
- Web 3 community building tools
Due to the peer-to-peer payment system, polygon's low gas fees, and the integration with web3, Uncovr has many advantages over web2 couterparts.
How to try out the app
I have two ways to try out the app:
Open beta listing
The link can be found below but the Google reviewing time can take a bit of time and sometimes the link is unavailable.
If that's the case, you can try out the apk directly here:
APK download link
https://drive.google.com/file/d/1VUlf6h8YvzO4AuKc41GRa_6zrai2VPcH/view?usp=sharing
Log in or sign up for Devpost to join the conversation.