Project Tours: Meme Type
Table of contents:
Overview
Do you like to be sarcastic on the internet? Are you tired of having hold or release the shift key with every letter while you’re mocking someone? Are you obsessed with making your writing as unintelligible as possible? Well, I’ve got an app for you!
Meme Type is an angular web app that performs text transforms of various internet typing formats. The live app is running here. View the project on Github here.
I was inspired to make this project while reading Because Internet by Gretchen McCulloch. In her book, McCulloch breaks down many online linguistic contructs, often taking an almost algorithmic approach. When I read her detailed analysis of keysmashing in the first few pages of the book, I knew I had to make this app.
Notable conversions
Keysmash
In the aforementioned Because Internet, McCulloch lays out a set of observed patterns of keysmashing. I’ve listed a few of these patterns below:
- Almost always begins with “a”
- Often begins with “asdf”
- Other common subsequent characters are g, h, j, k, l, and ;, but less often in that order, and often alternating or repeating within this second group
- Frequently occurring characters are the “home row” of the keys that the fingers are on in rest position, suggesting that key-smashers are also touch typists
My keysmash algorithm is inspired by these patterns, and thus uses to following rules to convert an input string to keysmashing:
- The first four characters have a high probability of being a, s, d, and f, respectively
- Only keys on the home row are used
- The keys alternate between the right and left hand
- Whitespace is preserved
Student athlete mode
Student athlete mode follows a post style about fitness, grinding, being better than everyone else, and using way too many emojis. See examples of this format on Know Your Meme.
In its current implementation, there are three ways in which an emoji will be added to a string:
- If the text is an exact match of the name of an emoji, it will include that emoji.
- If the text is an exact match of a keyword of an emoji, then it will randomly select from among the emoji that contain that keyword.
- If the text does not match an emoji, then there is a probabilistic chance of it selecting randomly from a set of emoji that are commonly used in this format. When this occurs, the emoji will have a chance to be repeated up to a total length of three.
Hosting
Meme Type is hosted using a combination of AWS S3, Cloudfront, and and Route53. For more info on how I use AWS to run my websites, see this post about the technical details of my blog.
Planned changes
Once the student athlete mode upgrades are finished, I plan on pulling all of my conversion functions into a separate npm package to make them easier to integrate into future projects. Possible implementations of that package could include similar conversion tools or bots for social media and chat platforms.
Contact
If you have comments or questions, see the contact info on the about page.
If you liked this post, click here to subscribe to my mailing list!