I'm Sindre, CTO of Scrimba (YC S20). We originally launched Scrimba to make video learning more interactive for aspiring frontend developers. So instead of passively watching videos, you can jump in an experiment with the code directly inside the video player. Since launch, almost two million people have used Scrimba to grow their skills.
However, one limitation is that we've only supported frontend code, as our interactive videos run in the browser, whereas most of our learners want to go fullstack—building APIs, handling auth, working with databases, and so forth.
To fix this, we spent the last 6 months integrating StackBlitz WebContainers into Scrimba. This enables a full Node.js environment—including a terminal, shell, npm access, and a virtual file system—directly inside our video player. Everything runs in the browser.
Here is a 2-minute recorded demo: https://scrimba.com/s08dpq3nom
If you want to see more, feel free to enroll into any of the seven fullstack courses we've launched so far, on subject like Node, Next, Express, SQL, Vite, and more. We've opened them up for Hacker News today so that you don't even need to create an account to watch the content:
Other notable highlights about our "IDE videos":
- Based on events (code edits, cursor moves, etc) instead of pixels
- Roughly 100x smaller than traditional videos
- Recording is simple: just talk while you code
- Can be embedded in blogs, docs, or courses, like MDN does here: https://developer.mozilla.org/en-US/curriculum/core/css-fund...
- Entirely built in Imba, a language I created myself: https://news.ycombinator.com/item?id=28207662
We think this format could be useful for open-source maintainers and API-focused teams looking to create interactive docs or walkthroughs. Our videos are already embedded by MDN, LangChain, and Coursera.
If you maintain a library or SDK and want an interactive video about it, let us know—happy to record one for free that you can use however you like.
Would love to answer any questions or hear people's feedback!
I’m working on a solution too, called CodeMic [1] where instead of bringing the environment to the web, it brings video and workspace sync into the IDE so viewers can follow along directly inside their own editor.
You’ve done an impressive job integrating everything, including the Console for example, that’s especially tricky to pull off in an extension for VSCode, Emacs, or Vim.
I'm a very strong supporter of interactive blogposts as well. Obviously https://ciechanow.ski/ is leader here - being able to mess with something to build intuition is huge.
The two people I have seen who really master this are Robert Nystrom (Crafting Interpreters) and Casey Muratori (Handmade Hero). But even they are limited by the mediums they use: books and videos, which are not ideal for this kind of guided exploration.
The links are great (people should check them out!)
Anyone who hasn't watched his famous talk from 2012 should watch it "Inventing on Principle" https://youtube.com/watch?v=PUv66718DII
When I first heard about Scrimba, I abandoned my project because I thought you guys would already go down that path. Why didn't you guys go down that route?
That said, our new IDE is built to easily support server-side execution down the line.
Why I like Scrimba? The lesson style that forces you to use a blank Page on each exercise means you develop memory for the language. Even more of a plus post LLMs IMO.
The fact that a platform like Scrimba was built using this language and probably only a handfull developers should make you want to learn from someone like that even more!
It's also the only learning platform I've ever recommended where I see people staying and learning more.
When I go to the main website: https://imba.io/
Then click on the "Demo" button
I get taken to the "Playground": https://imba.io/try/examples/apps/playground/app.imba
There is no code on the page but the preview seems to work. Same thing with all of the other examples. They work in the Preview panel, but no code loads at all.
Looking in the dev console I see a few errors:
GET https://imba.io/monaco/min/vs/loader.js HTTP/1.1 404 Not Found
Uncaught ReferenceError: require is not defined
current file did set undefined
Some images and a preflight.css is also not foundAlso its css notation is what Tailwind should have been.
Btw you're the Postgres.js author, right?
Yeah, I'm the author of Postgres.js, although it hasn't gotten the tlc it deserved lately cause I've been too busy with another soon to be public project.
Haven't gotten around to it yet, hope it's still relevant :P
Unfortunately, most JavaScript developers are very sheep-like and can only groupthink.
They will only use what they're told by influencers or they see others using. So that's why they will go to Next.js and React and all of these absolutely horribly designed frameworks.
I am doing plenty of courses across different platforms, from udemy to teachable selfhosting etc. They all lack the interactivity. I am currently hosting the code samples myself and basically redirect students there, where they can interact.
But scrimba is another league!
If you open this up similar to how udemy just hosts videos and does revenue share, count me in. With the webcontainers, the sky is the limit and beyond.
An alternative way is to embed the scrims into your own platform, and have the scrims be unlisted on Scrimba. Would that do?
“Hundreds of hours?!? With that much time I could learn to play the piano or speak Spanish! Hell, I could learn to code!”
I stumbled across Scrimba on a Reddit thread and signed up for the paid version after a few lessons: it was unlike anything I had tried in the past.
Now I’m able to build basic react apps but I have a much better understanding of what’s going on “under the hood”.
Have you thought about using it to introduce new hires to a codebase?
Will check out the new course. Keep up the great work!
Over the years, I've referred many folks asking for what I believed to be the best resources for self-teaching web development to Scrimba.
All the best to you & the team, I'm sure the future is bright.
Is the web preview saved as a video or rendered dynamically? In the case of tscircuit, we run an autorouter in the background so it can be like a slow-loading website with a big project- I imagine doing courses on building games would have a similar problem if there isn’t video capture for the preview.
The preview is rendered live, not video. So with heavy projects (e.g. lots of JS animations), the recording can get large due to the detailed DOM stream.
the product is exclusively for humans. the teacher, i'm not so sure.
We do have rudimentary Python support with the interactivity though. Planning out a course on it these days.
There's also the Processing tutorial series which is insanely interactive:
Sharing these in the hopes they server as inspiration for anyone who works on educational programming content.
But there are some limitations, as certain HTML elements (like native dropdowns, date pickers, canvas etc) are rendered outside the DOM and thus can’t be recorded.
Great works OP!
Once you hit "play" again, your changes are reverted and you continue watching the teacher's code.
So the teacher's voice is never on top of your code, as that wouldn't make sense.