Whoaverse is an open source alternative to Reddit
WhoaVerse for social communities, built on open source
WhoaVerse is an open source platform for creating social media communities where users apply democratic principles to shape the content.
Registered users can submit content, such as text posts or direct links. They can also vote submissions "up" or "down" to organize the posts and determine their position on the site's pages. The WhoaVerse ranking algorithm doesn't just use the number of downvotes or upvotes to determine content position, but also factors in the date and time of each submission. This creates a "gravity effect" that forces older submissions to rank lower, similar to the algorithm used at HackerNews.
Submissions are organized by areas of interest called "subverses" or "verses." Any community member can create their own subverse and customize its look by adding their own CSS.
What makes this project stand out from similar communities (for example, reddit) is the increased focus on user privacy, free speech, and the mechanism for regulating how new users can vote (to mitigate voter manipulation). For instance, if a user deletes his account on reddit, all of their comments and submission content remain intact. Only the author tag is removed and replaced with "deleted." Deleting a submission on reddit does not actually remove the content of the submission but only replaces the author's name with "deleted." Once this is done, the content remains intact and it becomes impossible to edit or permanently remove.
When a WhoaVerse user deletes their account, all voting history is deleted from the database. Any comments that the user has made and their author tag get overwritten with the keyword "deleted," as well as all of their text and link submissions.
WhoaVerse has built-in mechanisms for vote manipulation prevention. New user accounts are unable to downvote submissions unless they have at least 20 Comment Contribution Points (CCP) and they are limited to 10 upvotes per day. Another feature which sets WhoaVerse apart from similar platforms is its redesigned user profiles area, which displays the comment and submission history for a user. WhoaVerse user profiles do not have voting buttons which helps reduce "downvote attacks".
WhoaVerse is currently using portions of reddit's own CSS (provided under the CPAL license) and the design is heavily inspired by reddit. A new design is in the works which will give WhoaVerse a more dynamic look with better overview of submissions and grouping by subverses, but I don't plan to deviate too much from current design because users love lightweight and minimalistic design.
WhoaVerse was developed with several open source tools and technologies:
- ASP.NET MVC, Web API, and ASP.NET Web Pages (Razor)
- Entity Framework
- Silk Icons
I spent about seven months developing this project while also studying Computer Science at the University of Lund in Sweden. Working on this project has helped me gain a better understanding of many different technologies like C#, Entity Framework, and ASP.NET MVC. I could not have gotten this far without open source tools, for which I am grateful. For a single developer, the task of writing a markdown processor from scratch with full markdown support and decent performance would have taken years. Thanks to open source software, I was able to tap into years' worth of hard work and reuse it in my project.
Open source projects were very helpful for development of WhoaVerse because they contain design patterns and solutions to common software development problems. I also wanted to give something back to the open source community, which is one of the reasons why I decided to open source WhoaVerse.
I hope that this project will inspire others to take initiative and start working on their own projects knowing that there is a big open source community out there with millions of lines of source code to learn from.