The inspiration stems from a problem set in the 6.046 Design and Analysis of Algorithms class last semester. The problem makes up a social media website for the less amicable, where instead of making friends, users designate "enemies." Such "abomination" relationship is encoded in a graph and we are asked to test whether the old adage “an enemy of an enemy is a friend” applies. In particular, we are asked to find an efficient algorithm to determine if the graph is bipartite, which indicates the existence of two cliches (i.e. no two users in the same cliche are enemies).

What it does

We built "Fakebook" as a parody of Facebook. Fakebook allows users to create a personal account, search and choose objects (food, activities, anything) they hate, and "hate" (instead of befriend) people (other Fakebook users) they know. In response to Facebook's recent campaign "The best part of Facebook isn't on Facebook. It's when it helps us get together.", we want Fakebook to convey an counterargument and raise awareness about "the worst part of Facebook": in the deeper level, social media estranges people of modern age and provokes unhealthy, ungenuine, and fake social relationships.

How we built it

We built the framework and back end with ruby-on-rail and postgresql as the database, and the front end with react.js. The webpage is intended to be similar to Facebook as a mockery. The features we have implemented include:

  • Sign up and log in page
  • Each user's personalized main page, where objects you may hate pop up in icon view with photo and description. User can click on the icon, "hate" it, or redirect to the object page.
  • Each object's page where you can comment (reasons why you hate it or any strong opinion you have), and view anonymous comments from other users who also hate it.
  • (hopefully will finish soon) Each user can view other user's page (with limited information) and "hate" them.

Challenges we ran into

Integrating back end and front end is a pain. Interaction between the two through CSRF permissions sending http requests is particularly challenging.

Accomplishments that we're proud of

We coded a webpage that highly resembles Facebook FROM SCRATCH in just 24 hours! Isn't this exciting!

What we learned

  • Developing front end and back end completely by ourselves.
  • Exploring new features of react, css, ruby-on-rails that we have not seen before.
  • Miscellaneous coding tricks here and there.

What's next for Fakebook

We have a lot more features in mind, such as emphasizing its "social media" function by automatically "befriend" two people who hate the same things and provide a "friendship index" proportional to how much they hate things in common. But after all, Fakebook is meant for fun and mockery - despite the surge of virtual social media world, we want to remind everyone to go back to the realistic world and be sincere!!

Share this project: