Long Demo (7 minutes):
Longer form of the demo can be found here.
Inspiration
Upon hearing about the new Web 5.0 on Twitter, I was immediately intrigued. And then when I heard there was a hackathon for this brand new web platform, I started digging into what it is and its features. I was impressed by the idea of being able to store your own data away from third parties and still being able to connect/share that data with other people.
I was quickly pulled towards the idea of building a decentralized social media platform wherein users will be able to atomically pick and choose which data they wish to share and with whom to share it with. I came up with the name Cryptic Hearts to represent the technology behind it and what the application shoots for--connecting people through decentralization.
What it does
It does a lot of thing a social media platform would be expected to have and a little more, usually in the form of a user's control over their data. Here are a list of its features:
Private Profile Creation
By default your profile will completely be private, stored only on your DWN. However, since this is a social media app, you will want to share your profile (at least some parts of it) to other people. Cryptic Hearts lets you do this in a very private way. You choose who to share it with, and only they will receive your profile on their DWNs and no one else. Furthermore, you will also be able to pick and choose discrete parts of you profile to share, and what you share can be unique among each person you choose to share with.
Follower/Following with Selective Profile Sharing
Users will be able to follow other users and also gain followers. As hinted above, if you follow someone, you will be able to choose which parts of your profile to share with that person (or not at all).
Live Decentralized Chat
Once users start making connection, they will also be able to start chatting with each other. Taking advantage of Ably Realtime, users will be able to have live conversations completely in a decentralized way. Messages are stored on the users' respective DWNs and nowhere else. Ably only facilitates as a bridge to send over message in real time.
Selective Posts
Users can update their followers on their life through posts. Here's the neat part: users can choose who will receive these updates/posts from their list of followers.
How we built it
I built almost the entire backend using Web 5.0. No data is stored in any centralized facilities. On the frontend side, I used Next.js, TailwindCSS, and Shadcn.
Challenges we ran into
As this was a pretty unfamiliar technology for me, I expected to run into a lot of simple problems. And.. I did. Luckily members of the TBD Discord had run into something similar so a lot of problems were solved rather quickly simply by searching through conversations.
Accomplishments that we're proud of
I really like being able to share different parts of my data with different people respectively. I think the implementations of web 5.0's APIs made that possible.
What we learned
Learned a lot about web 5.0, and I'm eagerly waiting for this technology to grow even bigger.
What's next for Cryptic Hearts
I would like to take advantage of other web 5.0 features that I didn't get a chance to implement, and maybe even future features that are yet to come! I would also like to implement some wallet system that is currently being developed by the TBD team.
Log in or sign up for Devpost to join the conversation.