I recently got back onto Twitter this summer and, as a result of living in the SF tech bubble, ran into what is known as “VC Twitter.” Venture capital (VC) Twitter is the enclave (echo chamber?) of tech investors on Twitter who shoot off tweets full of very buzzwordy advice for entrepreneurs and investors alike. VC Twitter is such an entity in SF and SV that it has its own niche finance parody accounts and is the subject of some very meta tweets:
Inspired by the ridiculousness of VC Twitter, my desire to program a bit more, and the previous work of a close friend, I wanted to make a VC Twitter bot. Particularly, I wanted to make one based on a Markov chain model because I’ve seen firsthand that the output can be tuned to toe the fine line between “real enough to be comprehensible” and “fake enough to be funny.” Ultimately, the goal is to use existing data to generate tweets related to VC and tech that are readable and understandable but totally meaningless.
Process
When I first thought of this, I figured it would take a good amount of programming to do. I even dug up an old assignment from my freshman year at college on Hidden Markov Models. Alas, much like every other simple programming problem in the world, there was an online tutorial that covered most of what I wanted to do. The process was not that complex, I just had to make some minor tweaks to some of this public code here and I was good to go. That being said, it’s worth documenting some of the thinking that went into the corpus selection and execution at the very least (skip to the “Output” section below if you don’t care):
The bot builds a corpus of all past public tweets of ~30 VC Twitter accounts that you can flip through here (they are the only accounts that the bot follows)
I chose these public accounts semi-randomly through a combination of using this article, searching for “venture capital” lists on Twitter, and searching for investors at some famous VC funds
Some highlights include: Marc Andreessen, Bill Gurley, Chris Sacca, Paul Graham, Sam Altman, Scott Kupor, Ajay Agarwal, Christine Herron, Eileen Burbidge, and more
We then have some great off-the-shelf code thanks to @tommeagher on GitHub that takes in the accounts you’d like for your corpus, allows you to tune some key parameters, builds the Markov chain model from scratch, and uses your Twitter API keys to send the tweet for you
The main parameter I messed with here is “ORDER” which is essentially a proxy for the Markov index for this implementation — in other words, this is the setting that determines how “incoherent” or “lucid” the output is
This runs from 1 - 4, and I stuck with a 2 just to get a nice middle ground between understandable and ridiculous
There are also some key restrictions on the output. Specifically, if a tweet comes out as too similar to one in the corpus or too long for Twitter, the tweet is not sent
This is important because a restriction like this pops up about 30% of the time, thus if I deploy this to Heroku without modification and run it on a schedule, it will only spit out a tweet ~70% of the time
I then deployed all of this on Heroku to serve up a tweet every hour (barring our length and similarity restrictions above) and voila, we have @VCTweetBot!
Output
Here are some of the highlights from just one day of content production:
This output alone was already what I had hoped this bot could create, especially that first one, what a gem. Still, because all the accounts included in the corpus also send tweets about things other than tech and investing (and the fact that this Markov chain model was purposely tuned to not be that “accurate”) sometimes the output is pretty off the mark:
But I think digging through the rough to find the diamonds is one of the best parts of an algorithmic bot like this and some of its best tweets genuinely are a fun satire of the Silicon Valley Twitter world.
Welcome to VC Twitter, VC Tweet Bot!
Edit: A quick update — about a week after deploying the bot I tweaked it to include retweets (and ignore replies) which really cut down on the number of tweets that are pure gibberish. Also, about a month later, VC Tweet Bot made a new friend or two with some very similar Markov Chain based VC Twitter parody bots finding their way onto Twitter :)
*Disclaimer: this is an opinion piece and does not in any way reflect or represent the view of my employer, colleagues, friends, or family. All tweets output by VC Tweet Bot are meant to be satire and should not be taken literally or as a representation of my thoughts and or opinions.*