- Monolith
- Posts
reddit.com in July 2005. From the Internet Archive
7 min read
Reddit moderators are protesting Reddit’s API changes that threaten to kill 3rd party clients such as Apollo by taking their subreddits private. You can learn more about it here. I figured it was as good of a reason as any to dive into Reddit.
I also once heard that Reddit only had two database tables: “things” and “data” so I was excited to learn more. While that turned out to be true, it wasn’t what I expected.
Brief History: Reddit was started in 2005 by Steve Huffman and Alexis Ohanian. Huffman and Ohanian met their freshman year at the University of Virginia.
They decided to start a company their senior year. The idea? My Mobile Menu or MMM!. Steve describing the origin (edited for clarity):
I did have an idea. Another business unique to the Mid-Atlantic is Sheetz gas station. Sheetz had, at the time, sub sandwiches. Sheetz had an electronic POS terminal. You could go in there and order from a touchscreen which, at the time, was actually pretty cool. So I stood there pumping my gas thinking “there's an electronic ordering system inside. If I could just convey my order to that machine, the fella inside could be making my sandwich”. And then I wouldn't have to wait. So that was the idea for My Mobile Menu.
Steve was a Lisp hacker and looked up to Paul Graham. In March of 2005, Paul gave a talk at Harvard called “How to Start a Startup” so Steve and Alexis took a trip to Boston. They pitched MMM! to him, and he said he loved it. Within weeks he announces Y Combinator. With his encouragement, Alexis and Steve apply. Yet, Paul calls them a few days later and rejects them. Disgruntled, Steve and Alexis headed back to Virginia. On the train he called Alexis:
On the way back he called, and he's like, “we still don't like your idea”. Why would you call to say that? “Because we like you two. And if you change your idea, we'll invest.” I gotta to play cool. “All right, we'll think about it. We'll get back to you.” And I think at that point we were already convinced we needed to get off this train. We literally jumped over the tracks and caught the next train going north.
They met again with Paul and brainstormed ideas for an hour. The product of that was brainstorm was Reddit. Steve and Alexis became part of the first YC batch, and YC gave them $12,000 to build Reddit over the summer. Unbeknownst to Steve and Alexis, Reddit launched in June just three months after they took the trip to Boston. Steve again:
Paul was like, hey, you guys need to launch, you need to launch, you need to launch. And I was like, okay, we're almost ready to launch. Then he wrote an essay where he linked to Reddit without telling us. I had my computer, and I had a little screen next to it where I could see the error log going by. All of a sudden one day it just starts going really fast. I was just like, what is going on? And what happened is Paul just launched us. That's basically how it happened. Our first real users were actually Paul Graham fans. People who were reading his essays. That kind of set the tone for the early days of Reddit.
By August, the site had enough users that Steve and Alexis no longer had to submit links themselves. In 2006, Reddit added the first subreddits: r/NSFW, r/programming, and r/politics. In the fall of 2006 Condé Nast acquired Reddit for between $10M and $20M. At the time, Reddit had six employees, 70,000 DAUs, and 700,000 monthly page views.
Subreddit growth over time excluding the home page from Dr. Randall S. Olson
According to Similarweb, Reddit is now the 18th most popular site in the world with 1.7B monthly visits.
Development
Steve and Alexis didn’t have a vision for Reddit when they launched: Steve talking about the launch:
It was on. The good thing about that for us in particular is we didn't actually have a vision for Reddit for better or for worse which would affect us in a lot of different ways going forward. As soon as we launched, that's when we started to find the path. We just would kind of follow the users everyday and ask what do we think is best for the users? What do we think is best for us? And we just built towards that. We've built a lot of loyalty through those actions and that would not have happened, if we were sitting in our apartment not launching.
Reddit was written in 3 weeks in Lisp: Steve wrote the first line of code on June 3rd or 4th and they launched on June 22nd. Steve on the first version of Reddit:
We were renting one machine that basically ran Lisp, and that was all of Reddit. We're also running Postgres on this machine and that was it. We didn't have any fancy caching. I just used in-memory hash tables. The database had a fairly guessable structure. We had a table for links, we had a table for votes, and a table for users. That may have been it to begin with. There wasn't a whole lot to Reddit.
The Lisp version of Reddit is actually open sourced. You can read it here.
As I mentioned at the start, I’d heard about Reddit’s famous (infamous?) “things” and “data” database tables. If you aren’t familiar, the TL;DR is that Reddit only has two tables: things and data. Everything is represented in those two tables. Steve talks about it more here. That refactor only happened in December 2005 after Aaron Swartz joined. They also rewrote the Lisp app in Python over a weekend. That Python monolith is still the core of Reddit today.
Reddit did not collect metrics, including email addresses, initially: A new user only needed to create a username and password. Steve talking about it:
At Reddit, we just didn't. We didn't know our traffic for years. We didn't measure anything. We did the product development by intuition for a very long time. The company ended up working out.
There are a lot of corners you can cut when you're building your MVP. You can create all kinds of tech sins and corporate sins and, I don't know, be completely dysfunctional. Your users don't care. But data debt can haunt you because you can't make up missing data and eventually your intuition is going to fail you.
My take
Steve and Alexis just built for users: They were lucky in that they had a loyal user base, but they also listened and watched their users carefully. They would productionize feature that users were hacking together.
They started with a very specific target user and then expanded: A combination of Paul Graham linking to Reddit initially and Steve and Alexis not doing much go to market meant that the initial set of users were all very similar. This meant that a single page was sufficient to keep users engaged which, in turn, meant that the Allee threshold was fairly low. As the user base became more diverse, Reddit introduced new, targeted subreddits.
Links / Resources
How to Build a Product I - Michael Seibel, Steve Huffman, Emmett Shear - Stanford CS183F
The Social Radars - Steve Huffman, Co-Founder & CEO of Reddit
This is a full Udacity course about web development taught by Steve Huffman. It covers a lot about Reddit’s initial architecture.