The Race to Be Figma for Devs: CodeSandbox vs. StackBlitz
Ever since the $20 billion Figma acquisition in September, there has been increasing interest in the cloud IDE market. The thinking is, if even design tools can become web-native, then surely it is high time for developers to move to fully web-based tooling. After all, even Photoshop — once thought to be incapable of shifting to the web — has a browser version now. But strangely, developer tools are seemingly the last category of builder products to move to the web. Developers are sticking loyally to their localhost.
I recently profiled StackBlitz, which styles itself as “the development analogy of what Figma did for design.” After that article was published, a founder of a StackBlitz competitor DMed me on Twitter to slightly take issue with some of the quotes. Ives van Hoorne, co-founder and creator of CodeSandbox, told me that his product also runs the desktop version of VS Code in the browser and can run VS Code extensions too. The implication was that StackBlitz doesn’t have the exclusive on this functionality.
Curious to know more about how CodeSandbox compares to StackBlitz — and for more expert opinion on the cloud IDE market in general — I asked van Hoorne for an interview. Happily, he accepted.
The origin story of CodeSandbox goes back to 2016, when van Hoorne was a web developer for an auction website in his homeland of the Netherlands. While on holiday that year, he discovered the frustrations of not having an online developer environment.
“There were questions from my co-workers about pieces of code,” he recalled. “I didn’t have my laptop with me and it was quite frustrating to just get those text snippets on Slack, and I had to decipher what was going on without being able to run the code. Because I was just looking at [the issue] on my phone. So at that time, I thought it would be interesting if you could have your development environment available from everywhere.”
He later connected with his co-founder, Bas Buursma, and the pair released the first version of CodeSandbox as an open source project in April 2017. They did a seed round in 2019 (among the investors at that time was Figma founder Dylan Field, whose company is also a strategic investor in StackBlitz) and a Series A venture capital round in 2020.
The current version of the product is pitched as “collaborative sandboxes for rapid web development,” which is similar to the “instant dev experiences” description of StackBlitz. Both products also offer a free tier and a premium one. StackBlitz pricing currently starts at $8.25 per month (for a single user), while CodeSandbox is $9. Although, van Hoorne noted that it has only just begun building the revenue side of its business.
Micro VMs Are The Key Difference
I asked van Hoorne how the approach of CodeSandbox differs from that of StackBlitz? He replied that the two products are about the same age and that for the first 3-4 years “we [both] had a very similar approach.” But this began to diverge a couple of years ago, he said.
“They decided to go fully in on running everything in the browser, and we decided to go into micro VMs — running things on micro VMs,” he said. A micro VM (micro virtual machine) is a program that isolates an operation from a computer’s host operating system.
“StackBlitz runs everything in the browser,” continued van Hoorne, “which gives them a very fast experience. They have full control of the environment, but they cannot run everything. So if you want to run, for example, something like Docker, or you want to run a database like Postgres, that’s impossible to do.”
With CodeSandbox, he said, they have opted to focus on server technologies. This has prompted them to look for ways to “make code on the server run very fast.”
“Initially, we thought that would not be possible to do,” he said. But micro VMs allow them “to start a virtual machine very quickly, in a matter of 600 milliseconds. But most importantly, it allows you to also snapshot its memory — and that is something that is like a breakthrough for us.”
He likened the snapshot process to working from localdev on a MacBook.
“You close your MacBook and you open it a day later and your whole [developer] environment is still running. You don’t have to wait for everything to start, because in the background the MacBook serialized all this memory; and then when you open [the computer], it will load from the memory again and it will continue running — we have the same concept in CodeSandbox now.”
He added that this happens for every branch in CodeSandbox that you have open.
In March, CodeSandbox launched a new version of its product called CodeSandbox Projects, which the company said was “a rewrite of CodeSandbox from the ground up.” It added tighter integration with git and VS Code, but the key aspect of Projects was that it enabled developers to work on larger projects.
van Hoorne clarified that this is the version of CodeSandbox that introduced micro VMs; and indeed, he says now that they should’ve just called it version 2 of CodeSandbox, rather than giving it the ‘Projects’ moniker.
“It’s going to replace CodeSandbox how it is today,” he said, regarding Projects, “but we don’t want to deprecate the old CodeSandbox, because we have 40 million projects on it and we don’t want to suddenly move all of that over, because there’s a chance it would break the projects.”
A key feature of Projects, according to the launch post, is that “every branch is its own development environment, backed by a unique URL.” This enables other developers in your team to “always be able to see a running branch, even if you’re offline.”
Migrating Away from Localhost
The fascinating thing to monitor about cloud IDEs is whether they are succeeding in moving developers out of their reliance on localhost. Van Hoorne says that the trend is clear by now that developers are moving to online environments.
“It’s now very easy to package a development environment [online], and there are standards being developed to have a development environment that is reproducible […] At the same time, network connectivity is getting more stable for a lot of people.”
He added that CodeSandbox enables developers to sync local and cloud, so that they both have the same configuration — which allows a developer to easily switch between the two.