StackBlitz has always struck me as a solution in search of a problem.
Buyer beware: WebContainers is closed-source and there are hundreds of open issues from users. Most of them are ignored for weeks and months at a time as the company pivots from one thing to the next: https://github.com/stackblitz/webcontainer-core/issues
“It’s a solution in search of a problem and also has hundreds of issues from users” is kind of a funny juxtaposition, in the same sense that “nobody goes there, it’s too crowded” is.
WebContainers is a library that they've extracted from their codebase and are selling that allows other people to build full-stack code playgrounds on their sites.
we haven’t ever pivoted from webcontainers, not sure what you’re talking about there. it’s been our main thing since forever :)
stackblitz itself is a product suite built on top of webcontainers. note that many issues in the repo you linked are not for webcontainers specifically, but instead mostly for stackblitz specific functionality.
we have about 3m devs/mo using us for free on stackblitz.com, so we do the best we can for free public issue triage but do prioritize our paying customers (we are a business after all :)
I wish you could make WebContainers actually an open source standard library for local sandboxed client / server coding one day. I know CORS screws everything up...
Hi HN! Cofounder of StackBlitz/WebContainers here, cool to wake up and see this on the front page unexpectedly :) Happy to answer any questions!
Btw one emergent use case we've seen growing rapidly has been code execution for AI agents. Would love thoughts/questions/feedback if you’re working on things in that space: https://webcontainers.io/ai
What's the patent you mention on the site? Are any other web-based terminal, shell, or Node emulators at risk of violating it? Is it for a specific implementation technique? It's kind of scary to see in the docs, to be honest.
It's somewhat specific to our use case as you'll see when you read through. A motivation for securing this was that we've had issues (one instance in particular) where we caught a direct competitor directly copy+pasting code from our compiled builds into their own competing product. Asking them nicely to stop didn't do anything, nor getting emails from our lawyers.
The main lever a startup has to solve this is to keep innovating and being the best product in the market, which is what we have done & continue to do. But having a patent is a useful lever for general deterrence from bad actors like this. (Also want to say thanks and give credit to Vinay Hiremath, cofounder of Loom, who went through similar in the early days of Loom and helped point us down the path of securing a patent)
Technically speaking yes, but practically it turns out you often need multiple levers to actually get resolution when dealing with bad faith actors.
At some point I intend to write a blog post about what happened so other startups have a frame of reference on how to deal with this sort of thing. Truly wild stuff and can be very counterintuitive.
Hi working on agentic code execution, can you explain why you think a webcontainer is a good and useful solution to do LLM code exec over other low level container solutions
That demo is really impressive. It's click, scroll, click to get to it though. I'd make it a big button on the main page with marketing copy around it.
Bonus points for also buying https://webcontainer.io/ (no s) and pointing it at the right place.
Also, this is like the better funded, more productized cousin of https://webvm.io/
Thanks for this feedback- we’ll definitely make it easier to land on the webcontainer.new demo from the homepage. I think our main concern initially was that without docs context it might be too confusing what’s going on, but I think we could find ways to ease that in that experience itself
My eyes glazed over the docs context and scrolled until there was a bright blue button to click. If that hadn't been there I probably would have just bounced off of the page for being too wordy in a time of infinite distraction.
Personally, I'd be direct and add something to the effect of
> The page that you see on the right is being rendered to your browser by an instance of vite, running on your laptop, npm and all, being served directly to your browser. This is what sets us apart from other web dev environments.
to the readme.md on webcontainers.new and to the copy directing people to click that blue button. As a sibling comment says, "looks like every other modern code playground", which is what it looks like, but it isn't. You and your team have put in a lot of hard work to differentiate on that specific thing.
Your target market is developers, which raises the bar for technical understanding. Respect your customers' intelligence and just give it to them straight.
imo. you didn't ask for suggestions but this is the Internet :)
There ought to be an open source version of this. Wondering if it's "just" compiling the respective binaries needed by the tool chain (node, esbuild, who knows what else) to WebAssembly and providing proxied network access (for the registry). Alternatively, wondering if this could work with the various linux-on-a-webpage demos that were recently posted here.
Alright, looks like a lot of work went into this. What's the unique use case here? Help me out. I don't really understand why people would want to write code like this.
It's far beyond that. Web containers in Stackblitz is an entirely local in-browser IDE, complete with frontend and backend support, NPM, git, a full VS Code based IDE experience and end to end debugging (step right from your frontend right into your backend code). It runs (well, simulates?) HTTP and WebSockets right within the environment.
ok, that's a busy and crowded field with at least a dozen entrenched players: gitpod, codeanywhere, codepen, replit, jsfiddle, coder, jsbin, playcode, aws cloud9, codeenvy, github codespaces, and just plain old jupyter notebooks, just to name the ones I can think of.
These aren't really IDEs, they run some limited html and css on the client or in some cases some code in other languages on a cloud server. They are intended for small shareable snippets that demonstrate something. They generally don't have a full filesystem view, and thus are a specialized flavor of coding environment.
> web containers
This runs your frontend and backend code (yes, http servers) in a local browser backed filesystem that's fully local with no cloud servers which has a full terminal and process system as well as WASM adapted (and environment tweaked) versions of your development tools.
There is no competitor that does quite this, to my knowledge. It might seem like these are all the same, but they are not if you look closer.
Do these tweaked versions have 100% parity with the real environments? My experience is that you would often run into hard limitations, making it difficult to use for serious development.
The code being run here is being run on WASM, so IF the 'real' environment is WASM (aka Cloudflare workers), it would actually be closer to prod than running it normally.
> This runs your frontend and backend code (yes, http servers) in a local browser backed filesystem
This runs your development environment in the browser. Why not just run natively on the operating system, which already gives you filesystem access, terminals, and processes?
Because the browser is slowly becoming the OS anyway, and the reason why is that it’s way easier to distribute an application via the browser than natively. No app stores, no downloads, no updates, no installers, and mostly consistent across devices.
imagine you’re working in a highly regulated field. because of these regulations, you need to have absolute control over the development environment which is exactly as oppressive as it sounds, so you want to do your best to preserve the flexibility of a modern workstation.
because of all the problems with that, especially at scale. obviously that works, since that's how we've done it since the before times, but the shortcomings of that are what has lead to the rise of SaaS.
What problems get fixed by this approach and how does it become less wall time to fully address it?
I'm phrasing it carefully because sometimes solutions are really just the original problem redecorated in some new paradigm of dealing with it and doesn't actually reduce the responsibility, time, skills or cognitive requirements to surmount it. For instance, many automation tools replaced writing shell scripts with YAML or Ruby DSL. You gotta solve the same exact problems in the end, but now you do it in YAML. What used to take 3 hours, now only takes 3 hours.
So, what problems are actually being fixed here?
Alternatively it may just bring you more joy to with with it, which is what a lot of these tools actually do. That's fine as well.
Terraform is better than the world of sh scripts that stopped working if you looked at the wrong and can't really test. True, it brings in new problems, but what used to take 3 hours to write and then 7 hours to do a smoke test of and then another week to apply across one on-prem DC with a team of five, can now actually be tested with Terratest, you can run it against 100 different AWS accounts/regions/whatever, and be done deploying in a couple of hours. Of course, you didn't have 100 AWS accounts before there was AWS, but that kind of isolation is required to operate these days (under certain conditions).
That's as far as how I read "now you do it in YAML", anyway, because you're right, we did just trade 3 hours of sh scripting for 3 hours of fighting with spaces across three yaml files.
The problem that is fixed is that of the deployment of dev environments. Instead of each individual developer at BigCo having to set up their laptop juuuuust right, BigCoITDept spins this up, pre configured, and the developer can be shuttled off to the code mines faster.
That makes sense. Control over the developers workstations with preconfigured IDEs that are centrally managed sounds like something many corporations would backflip for.
I personally hate it because I think subjecting artisnal crafts to taylorism rarely produces excellent results, but I know their sentiments and the vast majority of programs need be merely sufficient.
The demo's use of Stackblitz is actually really confusing here, because it makes it seem like their IDE is what's being demoed when it's not.
WebContainers is a (proprietary) library for anyone to use to build playgrounds that execute client and server code on the frontend alone. It sounds like it was extracted from Stackblitz's implementation for separate use.
WebContainers is not competing in that crowded field (though Stackblitz is) because as far as I know no one else offers a library to build your own. This is partly because it's a pretty niche offering—developers of server-side or full-stack frameworks are the most obvious target users.
playground is a minor usecase, to me the big one is giving you a new option for scaling: shifting compute to client devices. They are powerful these days, and offline-first beyond data syncing is also desirable.
Or maybe it's not too hard to create a web ide and relatively cheap to run.
I'd imagine if you took a deep dive into web-assembly, lots of pieces are already there. It's really probably around 3-4 big pieces to try to piece together.
I have a version of Anthropic Artifacts working in my project here. Claude generates the code (backend or frontend), I wrap it into a little package, boom, instant deployment.
WebContainers is pretty awesome, and at this point if I were a server runtime (especially Deno and Bun), I would try to maintain a first-party web platform version for exactly the type of linkable, ephemeral, no-install, sandboxed, local dev environments of your that WebContainers provides.
I do wish this were open source, and the mention of a patent scares me - I feel like lots of people have tried this over the years, are they running afoul of some patent not fully linked to from the WebContainers site? - but I understand the investment that StackBlitz has made and the need to make money.
What does webcontainers exactly mean? Browsers don't allow me to call arbitrary other urls since the called server needs to allow with cross domain request headers.
What happens if I close browser tab? does that make the webcontainer go poof? What about memory and CPU requirements?
The idea sounds like a great hack, but the whole point of cloud IDEs is that it uses someone else's resources. I could get a 64 CPU with a bunch of H100s to dev on, run some script in background, and shut it when I'm done.
I had to check again if they made it opensource or if it is still just fake marketing misleading but yeah, still the same bullshit. You didn't even take the effort to validate if your "support" is really valid.
We used this to build an interactive cli in the browser for Seam, and I’m currently working on using it to host a local typescript language server for tscircuit so that the playground has autocomplete. Imo a very useful technology
We originally thought the same but a few years back started seeing increasing demand outside of stackblitz itself.
Surprisingly a very large and growing number of use cases across interactive edu tools, AI code execution (https://webcontainers.io/ai), SaaS dev envs for end users to write code, amongst others
Buyer beware: WebContainers is closed-source and there are hundreds of open issues from users. Most of them are ignored for weeks and months at a time as the company pivots from one thing to the next: https://github.com/stackblitz/webcontainer-core/issues