Inspiration
The internet opened up doors to sharing whatever people wanted to communicate with each other. As more social media websites and applications emerge, people could connect in better ways than before and come together regardless of their physical distance from each other. Although it seems like a bed of roses, there is a caveat on this:
Social media websites, such as Reddit and Twitter, can be invasive to users' privacy and are prone to censorship. Furthermore, tons of people are helpless using these services due to the data privact breaches and the fact that we trust companies to ethically handle sensitive information, such as our passwords, personal details, and interests.
It has been going on for ages. For example, Tom Liner, who collected data from 700 million Linkedin users, is offered to sell this data for $5000. Despite efforts from both governmental and tech bodies to seek alternatives to this problem, there is no leeway around this, causing serious concerns about the misuse of personal data and making us feel more unsafe online.
What it does
If you say that Distribuddit is just another (safer) Reddit clone, you are just thinking superficially! Distribuddit has many quirks and features on the security side!
It is where Distribuddit has the upper hand over conventional social media apps:
Unlike centralized services, which store your password and data in their services, Distribuddit distributes data accross all users. Distribuddit uses GUNDB, a decentralized database aiming to protect people's privacy through peer-to-peer networking! Furthermore, we have used the metamask link to make the users log in safely.
How we built it
We used GUN.JS as the Peer-to-Peer framework and Django to serve the pages on Distribuddit, alongside with a lot of HTML and Javascript.
Challenges we ran into
In the beginning of the hacked, we initially planned to used React.JS, but it turned out really hard to use when paired with Django. Therefore, we could have used Django from the beginning.
Another challenge that we have faced is to integrate Django and Gun.JS together to make it communicate.
Accomplishments that we're proud of
Despite using GUN JS, a technology that none of us are familiar with, we have made our project running in under 2 days, which is the most satisfying feeling ever!
What we learned
In terms of technology:
Before the project, most of us did not know about GUN.JS at all. Although it seems daunting at first, GUN.JS is actually a user-friendly and easy to use Javascript framework.
In terms of knowledge:
While making our app, we have learned more about the servers' job in a distributed applicaiton, in which peers will connect to other peers through the relay server.
What's next for Distribuddit: a peer to peer distributed Reddit alternative
We have solves one aspect of preventing masquerade attacks by showing the hash value of each user instead of the username and profile picture.
Despite that, we need better moderation and spam filtering for Distribuddit to make Distribuddit a friendly community that users can express themselves in a clean environment without the fear of harassment.
Furthermore, we consider using a p2p network instead of using relay servers if there is no limitation in the browser that does not allow direct peer-to-peer connection with clients.
Built With
- django
- gun.js
- html
- javascript

Log in or sign up for Devpost to join the conversation.