Inspiration
The Twitter algorithm favors users that post consistently. It also favors users that post consistently about the same topic. Baking. JavaScript. NPC streaming. Whatever your thing is, you better hope you don't get bored of it because the algorithm will make migrating away from it painfully slow.
I've been in this position recently as someone who enjoys sharing developer tips on the internet. For the better part of 3 years, my Twitter has exclusively been a place for raw Flutter tips and I built a sizeable audience doing that.
Then one day, I wanted to learn Python and realized my "sizeable" audience was basically worth nothing. I would have to start over and rebuild my reputation.
Rep Chain is my attempt at solving the lost reputation problem that could be preventing people from migrating to a web3 world.
What it does
Rep Chain is a platform that enables people to bring their web2 reputations to the web3 world as Verifiable Credentials.
How we built it
The mobile app was built using the cross-platform UI framework, Flutter. The backend is an express.js app hosted on Render.
Both components of the Rep Chain platform use the Trinsic SDK to manage wallet creation, credential issuing, and credential verifying.
The Flutter app treats wallets as accounts, meaning that if a user can authenticate with a wallet, they are considered logged in. Once logged in, users can be issued a "Reputation" credential for any of the supported web2 platforms (there are currently 4: Stack Overflow, GitHub, Reddit, and Dev.to). Each Reputation VC attests to the user's reputation or activity in the given platform. This could be karma, contributions, or reputation in the case of Stack Overflow.
Each Reputation VC also unlocks a chat room in the app so that users who have verified reputations on each web2 platform can communicate. There is a lot of opportunity to make this feature more robust in the future. For instance, it's possible that users could create custom chat rooms with more granular VC requirements. A room could require a specific reputation count or VCs from multiple web2 platforms.
The chat rooms are interesting because they are each a wallet. Every message sent to the room is a VC issued by the shared wallet to itself. This ensures that all communications are anonymous.
Challenges we ran into
Most DID tooling is written in languages that I'm not proficient in. The Trinsic Flutter SDK was the perfect bridge to introduce me to these concepts and spark my curiosity.
DIDs were also a foreign concept to me before participating in this challenge so wrapping my head around their use cases and potential took a few days (I'm still working it out in my head). It would be nice to see more developer documentation and examples of each tools' usages.
Accomplishments that we're proud of
Using Trinsic for authentication and data storage seems like a clever way to reduce technical dependencies (although I'm sure it was not intended to be used this way). Thinking about everything as having a DID pushed me to reconsider the role of a "wallet" and I'm happy with the outcome.
What we learned
My biggest takeaway from this hackathon was the platform potential of Trinsic. If wallets can be treated as accounts and databases, it could compete directly with larger platform-as-a-service providers like Firebase or Supabase. The overall offering would be slightly reduced, of course, but the dramatically improved security and control that user's would receive would be interesting.
What's next for Rep Chain
Our long term goal is to turn Rep Chain into the most popular reputation issuer for web3. Our focus will be equally on the Rep Chain mobile applications and a public set of APIs that anyone can use to acquire Rep Chain VCs.
Providing users with more options to verify their web2 reputation is the number one priority. This could mean adding additional web2 platforms, adding more granular reputation checks for each platform, and utilizing OAuth solutions to make importing this data much easier.
I also believe there is more ways to offer user's value once they have all of their VCs. Rather than simply entering into chat rooms with other users that have similar internet experience, it could be cool to create an anonymous Twitter alternative where your reputation on and off chain benefit you.
Built With
- dart
- express.js
- flutter
- javascript
- render
- trinsic
Log in or sign up for Devpost to join the conversation.