Replit: Remix the Internet

Welcome to the 1,010 newly Not Boring people who have joined us since Monday! Join 91,940 smart, curious folks by subscribing here:

Hi friends 👋,

Happy Thursday!

I’ve been excited to write today’s piece since I first met Amjad Masad, Replit’s founder, back in July. The more I’ve dug in since then, the giddier I’ve gotten.

The post is a Sponsored Deep Dive x Investment Memo. You can read my Sponsored Deep Dive thought process here, but the TL;DR is: I only write about companies I would invest in, and in this case, Not Boring Capital invested in Replit’s Series B.

I genuinely believe that Replit could become one of the most impactful and important companies in the world. It might be hard to see it today — it looks like a toy — but Replit has the potential to make the internet read-write-remix, spread code literacy, and give a billion people the chance to build businesses online.

Let’s get to it.

image

// I’ve started and restarted this essay more times than any I’ve ever written. It’s a tough one. It’s hard to capture the full breadth of what Replit is trying to build, and how, and what the world will look like if they succeed. That’s partially because it’s impossible to predict, because Replit is in the primitives business. It’s laying the foundation on top of which one billion people will build the future. After spending hours and hours researching, talking to Replit’s CEO Amjad Masad, and writing this piece, I’m convinced that Replit has the potential to be one of the most valuable and impactful companies in the world. But I probably need to explain why, and to do that, I need to just pick a place to start and get going. So let’s start here.

Everyone’s first line of code has to be written in Replit.

image

Replit’s mission is to bring the next billion software creators online and accelerate a shift towards a world where the combination of software and the internet is truly The Great Equalizer. The company believes that in the modern world, the ability to write code should be as ubiquitous as the ability to write essays. It wants to lead the transition from a stacked model of software creation to a networked one, and to create the world’s first massively distributed and collaborative operating system.

Replit’s vision is mind-achingly enormous, like the “the world if…” meme brought to life:

image

But when you’re setting out to build something as big as Replit wants to become, you need to start with a clear and ambitious proximate objective, something to tackle right now.

That’s why Replit wants to be the first place that anyone writes a line of code. Then it can become the first place they build an app, the first place they collaborate on software, the first place they make money online, and ultimately, the place that they turn whenever they want to create software.

It’s a straightforward goal with nuanced implications.

For example, it means not targeting experienced developers to start, even though they’re the more valuable users today. If they’ve already written their first line of code elsewhere, they definitionally can’t write their first line of code in Replit.

It also means that Replit needs to make it really easy to get started by putting everything you need to code something simple in one place, accessible from anywhere in the world with an internet connection whether you’re on a brand new MacBook Pro, a Chromebook, or even an Android phone.

And it means making it multiplayer from the beginning, to create a modern development experience that includes collaboration, like people are used to with products like Google Docs and Figma. A networked operating system demands networked development.

The approach comes with trade-offs. As it stands today, a large company couldn’t build most of its software in Replit. It’s more limited than a local setup including best-in-class point-solutions like Microsoft’s VS Code, Github, Heroku, Docker, AWS, npm, and postgres. It’s slower. It’s not industrial-grade. But that’s not the point.

Replit wants to build the future, and to build the future, you don’t rebuild the old thing for the old customers. You build something new that starts out looking like a toy, and you build for the underserved, not just for moral reasons, but for strategic ones. It’s disruptive innovation meets the compounding power of young users. It’s more Roblox than Github. As Replit’s CEO and co-founder Amjad Masad explained it to me:

To discover the future, you need a population that will grow up with the technology and partner with you in figuring out where software is heading, how we collaborate, and what the implications of things like web3 and AI will be.

Partnering and growing with underserved (here: young) customers requires an uncommon patience and focus on the mission. Replit is already a decade old if you count its earliest instantiation as repl.it, an open source project that Amjad built growing up in Jordan. That project led him to Codecademy and Facebook before returning to the original mission and rebooting Replit as a company in 2016. Today, Replit, Inc. is in year five of a multi-decade plan.

That plan starts with becoming the first place that everyone writes code, and growing with them symbiotically as they grow. That means giving new software creators everything they need to start creating, accessible from anywhere to anyone with a laptop, tablet, or phone.

It ends with Replit becoming the world’s first massively distributed and collaborative operating system, an open and extensible platform that anyone can build on top of and plug into to improve the platform itself, and make money by doing so. The more people who know how to code, the more people there are to improve the platform, the richer the ecosystem becomes. It’s a strongly positive sum network effect.

When Replit is successful, everyone will be able to remix the internet.

Because of the emergent nature of composability, it’s impossible to predict what Replit will look like in a decade, but it’s not impossible to predict that the results are going to be special. If the company gets everything just right, I think that it has the chance to be a $100 billion+ company that reshapes the way that software is developed and by whom, and by extension, who can build the internet.

It’s a multi-decade vision, and building towards it is going to take a lot of time, money, and smart people. That’s why today, Replit is announcing an $80M Series B led by Coatue at an $800M valuation.

image

Actually, I’m just going to call it: Replit will be a $100 billion+ company, but more importantly, its users will generate multiples of that number in value for themselves.

Not Boring Capital invested in this round and I couldn’t be more pumped. Replit embodies so many of the themes and ideas that we talk about in Not Boring -- composability, decentralization, disruptive innovation, the compounding power of young users, web3, and more -- and it’s building a future I want to see exist.

To understand the company’s enormous potential requires projecting the course of each of those themes forward and where they might interact, and then weaving together those different strands into one coherent narrative. Honestly, it’s been one of the hardest pieces for me to write because each thread I pull opens up new paths for exploration, a new “most exciting thing” to elucidate.

So maybe we fast-forward to the end for a second.

Imagine this: a world in which anyone, anywhere can learn to code, snap together composable services on top of a shared data and compute layer to build products, and monetize those products instantly and continuously, all in the same place. Where everyone can manipulate code like we manipulate words, creating as much richness and novelty in the programs we use as in the books and essays we read.

We’re going to go down a winding path to get to that world, and I hope I can do it justice. Join me as we explore:

  • The Internet Wants to Be Open
  • From Jordan to Replit
  • What is Replit?
  • Hockey Sticks and Dollar Signs
  • Compounding Power of Young Users
  • R3plit
  • Building the Operating System for the 21st Century

Before we get to Replit’s story, we need to talk about what’s at stake.

The Internet Wants to be Open

It shouldn’t be surprising that the internet is run by large, centralized companies today. Honestly, our fault.

The early internet, from the 1980s to the early 2000s, was largely open and decentralized. It was built on top of a series of open protocols that anyone could build directly on top of, like HTTP for websites, SMTP for email, SMS for messaging, IRC for chat, and FTP for file transfer. The benefit was that these protocols were generally agreed upon and not subject to change; I could build a website on HTTP and if people had my website address, they could go directly to my site, not intermediated by anyone else.

But there were some major challenges, which I covered in The Value Chain of the Open Metaverse:

  • Stateless. Web 1.0 protocols were stateless, meaning that they didn’t capture state, or user data. “Capturing user data” has negative connotations today, but stateless protocols meant that website owners didn’t even know whether I’d visited a site before, and couldn’t tailor experiences accordingly.
  • Missing Protocols. Web 1.0 didn’t have standard protocols for many of the things that power the internet today: payments, search, apps, social media, commerce, credit, and more.
  • Protocols Didn’t Make Money! Imagine developing HTTP, seeing trillions of dollars worth of value being built on top of it, and not being able to participate in the upside aside from some speaking fees, consulting gigs, and book sales. Oof.
  • Too Technical. You needed to be technical to build a presence on Web 1.0, which meant that regular people who didn’t know how to code were left out.

Web 2.0 (mid-2000s to present) emerged as entrepreneurs recognized the holes in Web 1.0 and built products to fill them in, and capture the value in the process. These companies didn’t just capture state, they aggregated it, building up huge troves of valuable user data. They made it so that anyone could participate and build a presence -- think about how easy it is to set up a Facebook page versus coding a website. They wrapped existing protocols in frictionless user interfaces and created de facto products where no protocols existed.

image

We’ve covered some of the challenges with Web 2.0 in Not Boring, along with some of the ways that web3 might help solve them. In many ways, web3 is Web 1.0 with most of the holes filled:

  • Shared State. Blockchains are big databases that capture and retain shared state.
  • New Protocols. Each new lego is a new protocol that others can snap into.
  • Protocols Can Make Money. From Bitcoin to Ethereum to Uniswap and beyond, successful web3 protocols can be worth hundreds of billions or even trillions of dollars.

But one thing that still hasn’t been solved is that most of us aren’t technical enough to actually create software. Fewer than 30 million people in the world know how to code. Anyone can now own the protocols and apps they use, but most of us (certainly me included) still can’t build them, or build on top of them.

A truly open, decentralized internet will be one that a billion people can build on and remix and compose, where anyone can interact directly with protocols, APIs, and services, and build protocols, APIs, and services themselves. It will be a world in which people can design their own internet experience, and design software that can succeed not by being 10x better than the existing solutions or 10x bigger than competitors, but by better serving the millions of small niches that make up the internet.

The commonly way to describe the evolution of the internet is as follows:

  • Web 1.0 was read-only
  • Web 2.0 was read-write
  • Web3 is read-write-own

Ownership is a critical piece, but it kinda breaks the read-write metaphor. The thing that prevents centralization ultimately will be how many people are able to create unmediated homes on the internet directly on top of protocols and shared state. People should be able to fork and build and tinker and tweak to build their own experiences on top of global, decentralized databases. When that happens…

Web3 will be read-write-remix.

When I wrote that on Monday, I had Replit in mind. We’ll talk more about that world in a bit, but I wanted to set the stage with what’s at stake.

For now, let’s go back to the beginning of the story, when Replit was born of a pressing need felt by a young Jordanian hacker.

From Jordan to Replit

It’s possible that only Amjad Masad could have built Replit. His combination of technical skills and lived experience might be exactly what’s required to reimagine who gets to create and monetize software, and how, in a world in which talent is equally distributed but opportunity is not, yet.

Amjad’s story proves two things:

  1. Even ideas that seem inevitable in hindsight are really hard and uncertain in real-time.
  2. Surviving the roller coaster is easier if you’re focused on a personally important mission.

Amjad Masad was born in Amman, Jordan. When he was very young, his dad, who was working two full-time jobs, running his own business after coming home from his 9-5 job, bought the family its first computer. Back then, even getting a computer running required a little bit of basic (pun intended) programming, guided by a thick instruction manual, and young Amjad learned as his dad did.

Amjad’s childhood looked a lot like Replit’s product roadmap. By age six, he could do some light programming. By age 12, he was programming in Visual Basic. By age 15, he sold his first piece of software, a LAN gaming center management software, and started a small business to maintain the computers and games at the stores that bought it.

In high school, he walked a familiar hacker’s path: originally guided by a teacher who gave him advanced lessons in math and computer science on the side, Amjad became bored and unruly when the teacher left the school and the lessons stopped. His parents made frequent trips to the principal’s office to bail him out. But he was smart, and he escaped high school.

For college, Amjad went to Princess Sumaya University for Technology (PSUT), where he once again found himself understimulated and underperforming.

Princess Sumaya University for Technology

image

According to a 2013 profile, he was dropped from the same calculus class twice, not because he wasn’t good at math, but because he never showed up. Instead, he was spending his time coding for startups and bigger companies, and hacking on the earliest version of what would become repl.it. But he did want to graduate, so to prove his merit, he did what anyone would do: he hacked into the university’s network and exposed vulnerabilities to the administration. Instead of kicking him out, they offered him a deal: work with the IT team to rebuild the network’s architecture and security, stay in school.

Finally, after six tedious and soul-crushing years, he graduated in 2010 and went to work for Yahoo!, which, you guessed it, was tedious and soul-crushing work to a creative hacker like Amjad. This time, to keep his brain occupied, he started trying to learn a bunch of different programming languages. Only problem was, Amjad didn’t own a computer, so after work, he would go to internet cafes, where each night, he had to set up his programming environment from scratch, all while he was paying for computer time. Worse, he couldn’t save his progress, so each time, he had to restart, which slowed down his progress even further.

He told Japanese blog gihyo:

My goal was to not only learn, but be proficient in four programming languages in a year. You can pick up the basics of a language really fast, but to really learn it, you need to practice a lot. But the lack of a good, portable IDE that is accessible from anywhere and anything with a browser makes it too hard to start.

Google Docs had recently come out, making it easy to write and collaborate in the browser (yes, there was a time in recent history when that wasn’t a thing), and Amjad wanted something similar for code. It didn’t exist, so once again, he did the most hacker thing he could: he built a solution.

He teamed up with classmate Max Shawabkeh and future wife/co-founder Haya Odeh to build a program that could support cloud-based programming environments from a web browser. He didn’t need a full-fledged integrated development environment (IDE), just something to play around with and learn on, like the interactive REPLs he’d learned about studying SCHEME, a LISP dialect taught to first-year MIT computer science students.

So they built repl.it, and open sourced the project.

repl.it on GitHub

image

Meanwhile, across the ocean in New York City, two young Columbia grads, Zach Sims and Ryan Bubinski, discovered the project on Github and realized that the interactive, web-based programming environment Amjad built would be perfect for the coding education startup they were building: Codecademy.

Codecademy Circa 2011

image

Within two days of launch in August 2011, Codecademy signed up 200,000 users, which meant that 200,000 people around the world were suddenly using the code that Amjad had built in internet cafes in Jordan. A month later, Zach and Ryan emailed Amjad asking him to collaborate. Amjad was already planning to quit Yahoo! to build his own business on top of repl.it, but the idea of joining forces was appealing:

In talking to Ryan, I realized we had the same vision of what we want to do, of how we want to make the programming accessible to everybody. We had similar thoughts about coding and what we call “⁠the new literacy⁠”⁠ and how everybody should learn how to program.

The trio worked on projects for a month, and in November, Zach flew to Jordan to convince Amjad to move to New York and work with them as a founding engineer at Codecademy. They went back and forth, debating equity, and as they drove Zach back to the airport, Amjad told him that he wouldn’t make the leap at the lower equity package Zach was offering. So in the taxi, Zach upped the offer, Amjad signed, and in January 2012, he moved to New York.

Amjad (center) and the Codecademy co-founders

image

After two years building Codecademy, during which the company raised a $10 million Series B from investors including Index, Union Square Ventures, Richard Branson, and Alexis Ohanion, Amjad decided that if he was going to live halfway around the world, he wanted to live in the home of hacker culture: Silicon Valley.

He left Codecademy and headed west before figuring out his next stop, and quickly landed a job at Facebook. He was attracted to the company by its strong engineering culture, but was specifically drawn to internet.org, the company’s project to bring internet access to less developed countries. It was another clear step in Amjad’s personal quest to bring the power of software to more people around the world. But the way Facebook works, you get hired by the company, and then interview with teams inside of the company. And the internet.org team didn’t have room for Amjad.

But at the same time, a small team at Facebook was working on building a new open source framework that would make it easier for engineers to create software for mobile: React Native. Amjad joined that team as a founding engineer, and spent nearly three years building it out.

The beauty of React Native is that it lets developers write code in React, a best-in-class JavaScript library, that automatically works across platforms. That means that small companies might not need an iOS team and an Android team and teams for the long-tail of platforms. One mobile team shares the same codebase, and React renders the code to the native platform’s UI. One entrepreneur I spoke to this week brought up React Native unprompted, saying, “With tools like AWS, React Native, and more, we can do an enormous amount with a team of 10 people.”

All the while, while Amjad was working towards his personal mission of making coding more accessible at Codecademy and Facebook, repl.it continued to grow in the background. Still, no one had built the product that he had thought about building back in 2011 on top of it. As he wrote in 2018:

I'd been waiting for someone to start this startup for years -- a website where people can not only learn how to code but can also build, collaborate with others, and ship software.

Amjad wanted that company to exist, but he wasn’t sure he wanted to be an entrepreneur. This recent thread captures all of the things he did to try to not start Replit as a startup.

Facebook wouldn’t let him build it as an internal project. Merging with existing startups didn’t work. Y Combinator rejected Replit three times (before ultimately accepting them, which you can read about here). He attempted to bring in an outside CEO but couldn’t find one who believed in the vision as strongly as he did.

So Amjad did some soul searching. Specifically, he dug into Danish philosopher Søren Kierkegaard’s work on despair, heavy stuff that deals with peoples’ internal tension between the finite and the infinite. (My man contains multitudes.) You should read Amjad’s thoughts in this April 2016 blog post for more color, but ultimately, he realized that entrepreneurship was a means of reconciling the finite (just doing) and the infinite (dreaming and imagining).

I’m about to drop a long block quote from that essay, which Dan always advises me not to do, but I think it’s important because it both directly influenced Amjad’s decision to start Replit and indirectly shaped the company’s product and strategy:

I view entrepreneurship as means of reconciling the infinite and finite. You venture into your imagination, gather knowledge, and dream about a better world. But you have to bring some of that back to earth. You take a step -- no matter how small -- towards your imagined world in the real world.

This is not a one time thing, it's a recursive process. If your imagined possibilities became real then that's your new "finite". The process restarts and that's how we make progress.

I see this as the perfect framework for the work we do in technology. There is always a tension between what is and what could be.

Taking a step into the infinite could be hard, but the hardest thing of all is bringing something back to the finite. The real art is coming up with the smallest possible task that can be done here and now.

Amjad wrote that post on April 14th, 2016. That same month, he quit his job at Facebook, resolved his Kierkegardian tension, and founded Replit.

image

(Actually, he launched “Neoreason” to build a suite of products that augment human reason, starting with programming, but quickly adopted the name Replit from the open source project when they realized how hard it would be to build just that one product really well.)

Replit was born as Neoreason

image

The early days of Replit were a family affair. Amjad started the company with his wife, Haya Odeh, a talented designer, and his younger brother, Faris Masad, a strong coder in his own right. Amjad had trained Faris in math from a young age by writing small games to teach him addition, subtraction, multiplication, and division.

The company the trio launched is *rips bong* literally built to help people take a step – no matter how small – towards their imagined world in the real world, and then to iterate recursively towards mastery. 🤯

So what is Replit?

What is Replit?

Replit is the easiest place to start coding, build, deploy, and host apps, collaboratively.

One way to think of it is like Figma for coding. It’s everything someone needs to code, all within the browser and with real-time collaboration built-in, that’s simple enough for beginners to pick up in minutes (I make all my beautiful designs in Figma).

Another way to think of it is like Roblox for software. Just as teenagers can build, host, and sell games and items all within Roblox, teens can build, host, and sell software in Replit. Unlike Roblox, though, Replit is plugged into the entire internet.

The way Amjad has described it in the past is Google Docs for coding. Instead of downloading software locally and sending files back and forth a la Word, Google Docs made it possible to write in the browser and collaborate in real-time. Replit’s pushing the same transition in a much more complicated space.

image

Analogies only go so far, though. Replit is building something novel and sprawling from the ground up, pushing code to do things it didn’t know it could, in order to build the ideal environment to start creating and selling software.

What does that environment look like?

Just setting up my repl

image

The company’s name is a nod to the REPL -- the Read-Eval-Print-Loop interactive coding environment -- but that’s just one piece of what it offers. The description that shows up on Google is:

Replit is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages.

Replit is more than a REPL and more than an IDE. It’s the first software to fully integrate the entire computing environment on top of simple yet scalable abstractions and make it multiplayer from the start.

Amjad expanded on what Replit gives users in Internet of Fun: “Every repl on Replit is a full computer that comes with access to the network, a database, storage, and access to its code, user profiles, and other primitives.”

To appreciate what that means, let’s take a step back and look at how it works today. In its 2020 Series A Deck, Replit included a slide that showed all of the tools that developers needed to stitch together to build and deploy an app:

Replit Series A Deck

image

Coders need to set up a code editor or IDE like Microsoft Visual Code Studio, host source code in Github (also owned by Microsoft, find and connect to APIs with RapidAPI, host the site on Heroku, control log data with logdna, and when they get stuck, turn to stack overflow.

That’s six different pieces of software, some local and some web-based, to download, set up, create accounts for, pay for, and jump back and forth between, and that’s just the basics. The company’s 2021 Series B deck included a few more logos:

Replit Series B Deck

image

For new additions: that blue and yellow plus sign is Python, the elephant is Postgres, and open source database, npm is a package manager that lets developers install, upgrade, and configure the JavaScript packages they use in their code, and docker is a containerization product that “packages up code and all its dependencies so that the application runs quickly and reliably from one computing environment to another.

If that was a lot to read, if I’ve lost you… that’s the point!

It’s a lot to even read about all of the different tools that it takes to create, deploy, and host a software product. Actually setting up all of these tools, figuring out how they work, and jumping between all of them would take a new software creator days or weeks. Back in 2012, I taught myself to “code” to build a simple website, and the “coding” part was really fun, but even figuring out which tools to use and then setting it all up was a nightmare. It made me stop “coding.” (Well, that and the fact that I wasn’t any good.)

My one attempt at building a website from scratch.

image

In a move that would make Jim Barksdale proud, Replit simplifies the experience of beginning to code by bundling all of the things you need to create and sell software. This table from its homepage is a quick overview of many of the things included with a Replit account.

Replit

image

Replit is a place to code and collaborate in practically any language, instantly.

  • It supports nearly every programming language, and is beginning to open up to let creators submit their own.
  • If your code relies on a particular package, Replit pulls it in automatically.
  • If you want to run code from Github, you can plug it into Replit and run it immediately, with all of the things it needs to work.
  • If you get stuck, you can turn to the community of over 3 million active coders for help.
  • If you need something that Replit doesn’t offer, you can turn to its marketplace of plugins and APIs.
  • Once you’ve built a product, you can deploy and host it at the click of a button.
  • If you want to sell your product, you can do it right within Replit.

It’s everything software creators need to build simple games, apps, bots, and products, all in one place.

Today, none of those components is as powerful as its best-in-class counterpart. That’s fine. New users -- 80% of Replit’s users are outside of the US and 50% are under 18 -- are just looking for a place to hack around and learn and build their first product. That means simplicity first, then power.

The heart of the simplicity is the in-browser IDE, which lets users spin up new repls, or coding environments, in a second. Here, I’ll spin one up right now.

image

Boom. In the 15 seconds the gif recorder gave me, I had a node.js IDE up and running. I could invite teammates to code with me in real-time, publish our work, host it, put it on the world wide web, and start making money just as easily.

Unfortunately, I still don’t know how to code. While Replit sold to schools and coding education programs, it’s not a coding school itself. Instead, Amjad recommends taking some intro courses or watching videos online through programs like Free Code Camp and then jumping in to start hacking and iterating your way to knowledge.

Once you have the basics down, you can dive back into Replit and start coding.

You can start from example templates, or fork any other user’s project to get their full code and learn while you remix their work.

image

You can run any changes you make right in the browser to see how your tweaks impact the product and get a better feel for how the code works.

Importantly, the ability to fork and run code all in the same place turns code from a static thing, like it is in Github, to something that’s alive, always ready to be remixed and run.

You can do everything I just wrote about in single-player mode, hacking away alone in your basement like a caricature, or in multiplayer mode with collaborators from around the world. I’d try to describe how multiplayer works, but this video does it better than I could.

Haya and Amjad Outside Their YC Interview in 2017

image
image
image

Replit Series B Deck

image
image
image