Vitalik Buterin wrote a paper a few weeks about a concept he dubbed Soul Bound Tokens, and we were inspired by the impact the concept could have and immediately started iterating. We believe there’s a lot of problems facing the industry today, with lack of trust online being the biggest cause. We want to solve this problem, and through the presentation we talk about how our product solves the issue of trust, improving the whole Web 3 experience along the way.
What it does
Each user is granted a “stkr wall” upon signup, where they can showcase NFTs in the form of “stkrs” that highlight their professional experience, communities they’re a part of, or fun activities that they like to engage in. “stkrs” are minted by organizations which get approved for stkr minting by the stkr DAO, verifying that organizations issuing stkrs are legitimate.
How we built it
We built Stkrs using the Motoko programming language and Vue.js. We chose Motoko because it was specifically designed for ICP and is significantly more succinct in comparison to the primary alternative, Rust. Our team has significant experience building PWAs with Vue.js and have been extremely happy with its reliability, ease-of-use, and ergonomics.
Challenges we ran into
We encountered technical challenges primarily on the backend side, writing canisters in Motoko. None of us had experience with Motoko, and there did not exist many Stack Overflow answers to help us with our frustrations. We spent a lot of time reading the documentation for Motoko, and sometimes had to take a peek into the implementation of certain data structures because the documentation was not fully comprehensive. It was quite rewarding to work on something like this, however; it tested our problem solving skills and gave us a challenge. We spent more time than normal solving trivial bugs, but we have gained a stronger understanding of Motoko as a result. We are incredibly excited to continue building with it, and have enjoyed using the language!
Accomplishments that we're proud of
- Creating a custom STKRs protocol enabling non-transferrable NFTs on our platform
- Integrating with Internet Identity, allowing users to login and create their own profiles on STKRs
- Building a completely functional, connected ICP-powered service that allows for users to comment, collect stickers, and browse other profiles
- Creating a thematic, engaging & animated UX for exciting User Experience
What we learned
Through this whole process of both brainstorming and development, we learnt so much about the technologies that are currently powering the push forward with blockchain. Each one of us watched hours of videos and read a variety of articles so that we were well-versed in the three main issues we sought to solve and ready to create a solution.
Development-wise, none of us had experience with ICP beforehand, so jumping into developing a full-stack application that integrates the authentication and the transfer/ownership of NFT’s was a tall task for us. Only after hours on end of reading documentation, stack overflow pages, and even source code, we were able to test and deploy our application.
What's next for STKRS
Short-term, we plan to clean up the backend, patch up potential security vulnerabilities, and start talking to organizations to see if issuing stkrs interests them. We also need to set up a DAO and a clear pipeline for organizations to issue stkrs. We’re really passionate about this project, and really want to see the product in the hands of real users and organizations.
In the grand scheme of things, we believe that there is immense potential with STKRS. From uncollateralized loans to job applications, there are many ways in which STKRS can be used that we haven’t explored as much and could change the way we use and interact with services we’ve taken for granted for so long. For example, currently, there is no way to take an uncollateralized loan in DeFi, limiting the potential of borrowing significantly. However, if we can start “verifying” identities through stkr walls (you would be more likely to loan to someone with a job, or maybe someone with a college degree), we can start small scale lending and as loan history is recorded through our app, bigger and bigger loans can be issued. What this means is we can eventually have a system to reliably gauge users' trustworthiness, recording positive and negative behaviors (creating a new stkrs wallet would mean starting your identity all over from scratch).
We see our application becoming THE OAuth application for Web 3, akin to Facebook or Google.
Check out our STKR walls!