For the past year we’ve been taking a radical approach to development tools here at Tonic. Instead of treating IDEs, frameworks, and even languages as the fundamental building blocks for development, we decided to explore what it would mean to attack these problems at the system level. Could we make progress on some long standing development headaches by essentially beginning to build a developer OS?
We started by buidling
module-fs, a virtual filesystem capable of
representing the entire state of npm at any particular microsecond. With
module-fs we could make every version of the over 300,000 packages
on npm available instantly. With truly immediate and frictionless
access to any package, you could begin to think of npm as the
global standard library, as essential to development tomorrow
as built-in libraries are today.
Similarly, we attacked the problem of
time traveling debugging not
at the application level, but directly on the OS by using
the bleeding edge virtualization tools of CRIU on top of Docker.
We knew that for a feature like this to truly be usable outside of simple
demos, it would have to match real-world use by allowing developers to rewind
any mistake, including forking a process or modifying the filesystem.
We’ve exposed these core features in a number of experimental products. Notebooks are our take on how a REPL can work in such an environment: quickly and safely prototype and share code with truly zero configuration. Endpoints re-imagined deployment by doing away with it completely: the code is simply always live, no longer requiring time-consuming installation thanks to module-fs. And finally, embed proposed that all online documentation and examples could be live by allowing any webpage to leverage these technologies:
A few months ago, we started talking to Patrick Collison, Stripe’s CEO, about our vision of building the future of development tools. I was already aware that Stripe had a history of investing in development, but Patrick made clear that lowering the bar to development is fundamentally aligned with Stripe’s interest in increasing the leverage of developers around the world.
From these discussions, it became increasingly obvious that it made sense for us to work together. Stripe decided to take a bet on our vision and our team, and I’m excited to announce that we are now officially part of the Stripe family. We will continue to operate independently, working from our office in the Haight in San Francisco, and we will also be changing our name to something that better encapsulates our vision: RunKit.
RunKit represents what we are truly building: a unique new platform to enable tomorrow’s development tools. In the coming weeks we’ll be releasing a number exciting updates that leverage our technologies, as well as better explanations of what’s going on under the hood. We are really looking forward to the things we can build by working with Stripe, and can’t wait to show you what we’re up to. Try it out yourself: