Building Systems,  Social Computing,  Students

MIME: A Social Network for Meme Enthusiasts. A course project turned into 10,000+ Lines of Code.

Memes have become a predominant means of expression in the Internet culture, they are not only used as a means of entertainment but as an important tool for advertising, spreading propaganda and even political ideologies. However, the creation of memes is limited to a niche community of content creators who are skilled in photo/video editing software. MIME is a platform which empowers people who lack these skills to become a part of the meme conversation. We built a one-stop solution for all meme needs – a maker space where people can create memes, a personalized meme feed, and a space to connect with other meme enthusiasts. Further, we hypothesize that a person’s meme interests can be an intrinsic indicator of social preferences and can form the basis of strong interpersonal connections. We aim to create a strong community by enabling users to form connections based on similar meme interests.


We conducted a user study with the aim to see if others felt the same and not just work on our assumptions. We conducted a survey to gauge the strength of our research and assumptions. A total of 88 people filled the survey and the result turned out as follows: 61.3% people spent at least 30 minutes every day on memes; 70.7% felt that memes they like represent their emotions and they connect with their content on a daily basis; 68% of people wanted to connect to people with similar meme interests. This research was done part of the course that Varnit took with PK in Fall 2017, CSE645: Privacy & Security in Online Social Media. Varnit has been working on this from then until now.

Mime is built taking care of all considerations collected through user survey, interviews, and discussions; we want to give the user a wholesome meme experience. It is a meme haven, a place where one can discover everything there is about memes. It encapsulates three aspects. First, it contains a personalized meme feed constantly calibrated to the user’s latest preferences using a relevance feedback loop. Second, it provides an all-purpose maker space for uploading and creating memes using templates, free drawings, and photos uploaded from phone gallery. Lastly, there is a social corner, so to say, enabling people to connect with other people with similar meme preferences.

Affinity diagram that we developed from the interviews / discussions.

We made a low-fi prototype on the basis of the affinity diagram. We then conducted a few iterations of user testing to improve the usability of the interfaces, ease of transition between interfaces and to find out if any action defined by us was not intuitive. We developed high-fidelity prototypes from the feedback we received. Below are the screens from the social network we developed.

The first two screens display the two types of preview screens; the third screen displays how a customised (dynamic) user preference vector is created for each; and fourth screen shows us the memes that we’ve posted.

The first three screens show a meme-posting process; (1) You can use various start points from a blank page to a photo, (2) This previews gives you various options to edit the option you chose in step 1, (3) This preview allows you to add a caption and associated tags for the meme; The last screen shows that we have a customized notification section for each user.

At first, we decided on MayMayMe. It is a combination of the words MayMay (a mispronunciation of Meme, often made fun of in the meme community) and Me. It was a modification of the phrase ’meet me’ to ’meme me’ as our app will help users connect based on meme interests. Additionally, it can be interpreted as Internet lingo for ’send me a meme’. However, it was not received well by the users. It was pointed out that there were too many syllables. Finally, we switched to ’MIME’. It was a combination of ’my/mine’ and ’meme’. Our vision for this app is for the common user to be able to express his sense of humor effortlessly and claim ownership for it. Hence, ’my meme’ sounds like an appropriate name for it. ’Mime’ also means ’to use only gesture and movement to act out (a play or role)’. It is an art form utilizing indirect ways of communication to express oneself, which, we feel, is the role that memes play in our community as well.

We have taken a lot of care by user testing the app in multiple ways, we hope you will enjoying MIME-ing with us! Download the app here and let us know your feedback. Below is a video showing you a demo of the app.

Live demo of MIME!


Students: Varnit Jain, Chirag Jain, Sarthak Marwaha, Pranshu Bansal

Faculty: Prof. Ponnurangam Kumaraguru “PK”

For any questions / feedback, please drop an email at pk[at]iiitd[dot]ac[dot]in, we will be happy to help you with it.

Comments Off on MIME: A Social Network for Meme Enthusiasts. A course project turned into 10,000+ Lines of Code.