Download presentation
Presentation is loading. Please wait.
1
The rise and fall of a meme Jonathan Adler @skyetetra
Tweet Mashup The rise and fall of a meme Jonathan Adler @skyetetra
2
Who am I? Director of Insights and Analytics at Lenati
BS & MS in Math from Worcester Polytechnic Institute PhD in Industrial Engineering from Arizona State University Data scientist but “not a real programmer” Write code all day for my job Never formally learned software development Love functional programming, specifically F# Like quick weekend programming projects (twitter bots) Won season 3 of the reality TV show King of the Nerds Who am I?
3
Twitter Bots @ADomain4U @KNUK_TATS @MachineHeather (6 followers)
4
Inspiration “A website would be a much better idea for this than a twitter bot” –(Not machine) Heather
5
What is Tweet Mashup? A website that lets you combine two twitter accounts tweets together Use premade combinations or make your own Surprisingly addictive
6
Tweet Mashup
7
Tweet Mashup
8
Tweet Mashup
9
Tweet Mashup
10
Tweet Mashup Coded entirely in F# Launched on November 20th, 2017
Went viral, got popular (1m sessions), crashed a lot, then stopped being used Tweet Mashup
11
Tweet Mashup
12
Five lessons learned The algorithm isn’t important
The design is important Be ready to scale Hacks are fine Memes fall hard Five lessons learned
13
1. The algorithm isn’t important
Republican health care plan has a big tax break for insurance execs' pay 🚽Tell Me How This Helps Sick,Poor,Old ns Elmo is so excited! Elmo loves the Everyday Heroes Club! Elmo gave Abby a BIG HUG and earned his Giving Badge! Elmo loves hugs! Republican health care plan has a BIG HUG and earned his Giving Badge! Elmo loves hugs!
14
1. The algorithm isn’t important
For each user Pull as many tweets as you can Split tweets into individual words (exclude first and last words) Create a dictionary where keys are words and values are arrays of tweets containing the word (and where in the tweet the word is) Find the words that both users have tweeted, randomly select one Remove any words that couldn’t make a valid tweet [combined tweet would be too long] Randomly select a tweet from first user that contains the word Randomly select a tweet from second user containing word (filter to ensure <=140 characters) String concatenate Cache a users tweets so you don’t have to pull from the API often 1. The algorithm isn’t important
15
1. The algorithm isn’t important
Objectively this is a pretty bad algorithm Not theoretically interesting, often generates garbage However, ratio of garbage to gold is 👌 1. The algorithm isn’t important
16
2. The design is important
Prototype Tweet Mashup 2. The design is important Tech prototype had no design Enlisted my to help with design 1 weekend to get mashing working, 3 months to get design sharp Without the design, it wasn’t actually fun
17
2. The design is important
Preset combos to show idea Images of accounts give personality Easy to share tweet button
18
Launched on a Sunday night (November 20th, 2016), shared with my friends and spend $10 on Twitter ads Put on an Amazon EC2 instance My friends -> Supernatural Fandom -> Anime Fandom -> 4 chan -> Alt-right Went to work on Monday and site was exploding in popularity Was very hard to work Site was crashing repeatedly on first few days 3. Be ready to scale
19
3. Be ready to scale Unrealistic assumptions:
I could use the app credentials and pull 900 twitter user profiles / 15 minutes Needed to quickly figure out how to add authentication Memory wouldn’t be an issue Needed to purchase progressively larger ec2 instances Money wouldn’t be an issue Wanted to figure out some way to monetize Only would be used by people in the US Traffic coming from Turkey, Brazil, Spain Fixing this issues while people were using the site was emotionally burdensome 3. Be ready to scale
20
“By early February, the weight of everything – the scrutiny, the relentless criticism and accusations – felt crushing. [Dong Nguyen] couldn't sleep, couldn't focus, didn't want to go outdoors.” This happened (to a smaller extent) to me By the end of the first week I regretted launching it 3. Be ready to scale
21
“database” was storing json files on the server hard drive
To avoid caching issues, didn’t allow mashups with private Twitter accounts To fix issue with the server crashing, set a script to restart it once an hour No analytics or record keeping whatsoever beyond Google analytics Tweet Mashup now running in my house on an old desktop over Wi-Fi 4. Hacks are fine
22
Original design 4. Hacks are fine Updated design
23
Sessions per hour 5. Memes fall hard Launched Sunday, peaked Wednesday, declined forever after Still had stability issues on Tuesday and Wednesday, dramatically decreased growth spread Peak day had ~200k sessions, now at ~1k sessions per day (totaled over 1m sessions) After initial excitement peak, further Twitter ads didn’t help
24
5. Memes fall hard EC2 costs - $97.68
Donations – 29 donations $ (1 donation of $100, 3 donations of $0.01) Of ~300k views in time with link, 0.01% conversion rate Couldn’t put ads because (1) not approved in time (2) no actual content “Please donate” business model didn’t work
25
If you make something people will like, it will spread fast
The things I would have guessed to have mattered (good algorithm, database backend) didn’t, but other things (design, scalability) really did Hacking stuff together to get it to work fast went better than I expected It takes a lot of dubious ideas before you get to the one that lands Be ready for the emotional burden of success Conclusions
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.