Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: Scrimba (YC S20) – Interactive video for learning to code
242 points by mrborgen 29 days ago | hide | past | favorite | 72 comments
Hi all, I’m Per, co-founder of Scrimba.

We are building an interactive video format for teaching and learning how to code. The main benefit is that students can pause the video and edit the code whenever they want.

We think this is needed is because over 70% of people who are trying to learn to code today use videos. But since videos aren’t interactive, students end up mirroring the instructors’ code line-by-line in their local code editors. This is time consuming, and it often causes problems with local dev environment setup.

Scrimba solves these problems as it enables students to pause the screencast and modify the instructors’ code directly inside the player. So when a Scrimba student feels confused, she jumps into the screencast and plays around with the code (editing, running, debugging) until she’s made sense of it. As a consequence, she learns faster.

Technically, this is possible because we have merged the IDE and the video player into one tool. To understand the technology in-depth, please watch this cast: https://scrimba.com/scrim/cww679T9

The Scrimba format also opens the way for other features that can further enhance the learning experience, like searching inside videos, in-video hyperlinks, audiovisual code feedback from teachers, remote pair programming between students, and more. The more we work with the format, the more of these opportunities we see. So we have decided to use the format as the backbone for an online coding school as we continue to improve it.

After launching a bunch of shorter courses the last couple of years, we launched our first full-degree program this summer. It's called “The Frontend Developer Career Path” and it contains 75 hours of content and 100s of interactive coding challenges. It costs $19 per month and the teachers are well-known instructors like Gary Simon, Cassidy Williams, and Kevin Powell. Students are also paired up in Study Groups, in order to make the online learning experience feel less lonely. So far, over 3000 people from 110 different countries have enrolled.

Here’s a link to the course: https://scrimba.com/learn/frontend

Fun fact: Scrimba is built entirely in Imba, a programming language that our CTO has created. It’s a Ruby-inspired language that compiles to JavaScript, and it excels at creating high-performant web apps. The first version of Scrimba was created because Sindre wanted a better way to teach Imba. You can learn more about Imba here: https://www.imba.io/




I have nothing but good things to say about this group of people.

My personal interactions were mostly with Sindre Aarsaether, several years ago. Absolutely brilliant and genuinely caring human being.

I have recommended Scrimba to everyone who's asked me how to learn to code since the first time I tried it.

It will blow your mind the first time you see it, there's no possible better medium for learning and explaining software IMO.

---

Edit: Side note, check out Sindre's work on DOM reconciliation, schedulers, and general performance. The way that Imba was written is incredibly unique for a DOM framework and the render capabilities + performance are absurd. An order of magnitude faster than React/Vue etc.

Also, I seem to recall something about the Scrimba team helping Ives from Codesandbox out with some JSX-parsing black magick for performance.


Hey, I love Scrimba. A few on our team used it to quickly get up to speed with modern React. There is a lot good I have to say about the React course and the platform! I wrote a post about it recently: https://www.exploringreact.com/2020/09/19/need-a-comprehensi... where I recommend your course as THE React course to do for a verity of reasons and many of them are to do with the Platform itself, although Bob Ziroll is excellent too!

No idea you were in YC. Good luck with it!


Wow, thank you so much for that awesome blog post! It's thanks to acts like that we've been able to keep the wheels going at Scrimba the last year, as we haven't had money to spend on paid advertising, so we've had to rely on organic growth.


Thanks. It’s genuinely what I thought so glad to write it. I think I found you through Google it might have been an ad or organic result last last year.


That is very very nice of you. Thank you again!


Scrimba is awesome. I was really intrigued by it for a while.

For me, I reached a point where I started to feel the limitations of the code editor provided. It became apparent that I was stuck in a learning tool, not a full text editor or IDE. There were just enough of these things that made it unappealing to me. I have been writing software for several years so I do have certain tools that I have become accustomed to using over time. Perhaps for people that don't have affinities for certain debugging tools or code editors this will be less of an issue but it would still be great to have some sort of seamless transition from tutorial to a real project, without just having to copy/paste code.

One other thought I had about it is that to me the usage of Imba to build it was a turn off. I can't remember if there was a specific reason for this or not. It might have been because I was considering what it would be like to contribute to Scrimba and when I found out that JS knowledge wouldn't come in handy I was kind of let down. I can't remember for sure though to be honest.

Last thought here, I found and started to contribute to a VS Code extension that I felt achieved a similar goal to this, called Codio (https://github.com/wix-incubator/codio). Ultimately there was some bug that prevented me from even recording any audio with it, basically making it useless, but I'd love to see something like these things take off.


I'm in my final year of college and for over last 3 years I learnt a good part of my coding skills from scrimba. I was sold from the moment I found we could pause the video and copy the code (no more rummaging through github and pastebin). Its really good to see you guys grow and reach even more learners.


That makes me very happy to hear! :D


Very cool idea! We actually built something very similar for the CS course I teach at Illinois. Example: https://cs125.cs.illinois.edu/lessons/asserting/#switch. We've built this on top of Ace, which allows us to deliver lessons that have a mix of text, playgrounds, and these interactive walkthroughs.

Overall I think that this is a great direction. Glad to see others working on it!


I went to UIUC and professors like you are what make the CS program so exceptional. I had Lawrence Angrave for CS125 whose Zen graphics library for teaching Java created my first impulses to code for fun.

You have my eternal gratitude for all your hard work.


Great and awesome resource. Just signed up as a paid member. My only minor gripe is that most of the courses are geared towards frontend development. It would be great if founders can invite authors to develop some courses on backend development, databases and some SRE etc.

Any courses on frameworks such as ASP.NET, Ruby on Rails or Django would be great. I can see the complexity arising in creating in-browser tutorials involving any backend or framework etc. But I think it will add tremendous value to the platform.


Yes, we are going to add backend, but it’s more complicated, as we can’t execute the backend code in the browser.

Btw, if anyone thinks that adding backend support to Scrimba sounds like an interesting problem to work on, please let us know (per@scrimba.com) as we’re looking for new developers to join our team :)


Scrimba is basically magic. It's a video of code but when you click on it ... suddenly you're in an editor. It's such a fantastic format. Imagine if every coding tutorial video on YouTube could let you do that!

Oh and the team is full of kind and intelligent people, so that's nice too. Congrats on the launch!


I'm not sure about beginners, but as a coder wanting to pick up other languages/frameworks quickly, I prefer text based courses with in-browser interactive code editors. This allows me to move at my pace with minimum distraction and fumbling around, and also when I want to refer back to something later, I can find it in text much more quickly than trying to find the right clip and time.


I wonder if this is this a generational thing or a personal preference. I too generally prefer text with in-browser code editors. I can search text. i can jump exactly to the part I want to reference later. etc...

But, AFAIK most people under 30? will chose a video on youtube over a text (webpage) based lesson at something like 10 to 1 or 20 to 1. Note: I'm pulling those numbers out of thin air, it's just my perception.

It's also possible this is a youtube thing. Click on a single video about how to code something and youtube will start recommending more videos on how to code where as search for how to code something and find an article and your next search will not be randomly recommending more code articles

Speaking of which, I think I would find this horrifying but what if google's search home page worked like youtube so that before you entered your search it showed 20 things it thought you might be interested in based on past search clicks. Scary but it might explain the difference.


You mean like if Google homepage had a recommendation algorithm like YouTube? interesting but it might be very compute intensive and not much be benificial to Google as all ads on websites are not their ads.


Holy crap! This is insanely awesome. I just tried out one of the courses and it's way easier to use this.


Scrimba is a fantastic service for teaching coding principles. At Udacity, we also use Jupyter Notebooks heavily to teach additional topics, and a couple years ago Scrimba was the inspiration for a similar open-source tool we built called for Notebooks, called JupyterGraffiti. Using just your browser (nothing to install) you can record all your activities and your voice, as well as draw and annotate, inside Jupyter Notebooks. All recordings are interactive, so you can try the teacher’s code out any time while they’re presenting. We use it to teach data structures and algorithms, coding for special chips, data analytics, machine learning, and more. Live demos of Graffiti are linked at its repository, https://github.com/willkessler/jupytergraffiti.


Been following Scrimba and Imba for a couple of years. Super impressive work.

Imba is kinda of a mix between Svelte and Mithril with a Ruby kind of language. The way you model state without reactivity is brilliant. It makes everything so much simpler.


I wanted to like Imba, but could not find simple hash based routing for static sites (ie, no server side magic). Wonder if that is still the case.


By "server side magic" you mean routing requests to index.html?

AFAIK that's a very simple config in all static hosts.


Is it really true that "... over 70% of people who are trying to learn to code today use videos."?

Is this as the primary method of learning, or are videos just a component of the modern-day learning experience?


freeCodeCamp did a survey amongst people learning to code, and 3 out of 4 used YouTube to learn. And that didn't even include other video sources.

In Stack Overflow's 2020 survey, over 50% of respondents said they use video tutorials when they are stuck.

It's probably only one component of the learning process, though, as I assume that most code beginners read articles/docs as well. But an important one.


This is awesome! Plans to include data science topics? Seems awesome for web (and the python course).

Just tried it out for a couple hours, a little feedback on the UI: -After I changed code around, I clicked "play" on the video (mistakenly thinking it would run my code)- of course it resumed the video, and all my code changes/additions were gone. Frustrating for a few times, until I learned my lesson. -After a video finished, I started editing code, but the auto-advance kicked in, moving me to the next video, and ending my code edit.


Thanks for this great feedback! As for the ‘disappearing code’, you could have gotten back to it by clicking the yellow dot on the timeline. We should obviously make this much clearer.

We’ll make sure to cancel the auto-advance as well if a user starts interacting with the code.

As for DS topics: we’ll first add general backend topics, but DS would be natural to venture into after that.


I learned React in two days with almost zero effort after trying the same with other resources before. I really recommend this platform and I don't have any affiliation with it


Oh wow, I had no idea Scrimba was brand new!

I signed up for the Responsive Web Design course last week and I'm getting a lot out of it. This is actually my first time taking any kind of web course of any type, programming or otherwise.

I work in the data/ml stack, not the web stack, and I've avoided learning anything serious about frontend for _years_. Figured it was about time to fix that so that I can get my personal website to look a little less terrible.

The Scrimba course looked like it would check all my boxes about technical content without forcing me to a timeline or a certificate program or being crazy expensive. I'm not looking for a career change into frontend, I'm just somebody who thrives in a structured learning environment for a new subject area.

I can definitely recommend the lesson + interactive in-browser editor combination. It's a powerful tool for fast, real learning. And I'm very grateful that somebody finally explained CSS margin collapsing to me!

My biggest critique so far is that the preview window for the project doesn't really work in Firefox, but things seem fine in Chrome.


Glad you like it! We're working on fixing the Firefox problems btw, sorry about that!


Awesome! Glad to hear it!


I've not yet found an experience that matches the interactivity of DataCamp. They don't do simultaneous video and code, but they have helpful code feedback and the video slides are picture-in-picture, which I prefer to having to scroll through a video to lookup code screenshots.

That said, DataCamp had a scandal a few years back and a lot of authors retracted content.

I'll take a look at this.


It seems to me that Scrimba is just an spin-off from Khanacademy's live-editor on steroids. I would not actually called it innovation per se, but pretty useful btw! Along with repl.it, best tools avalaible so far.

[1]: https://github.com/Khan/live-editor


This is a cool startup. I was learning frontend code throughout 2020 using another online learning platform who I won't name because I don't want to dilute the purpose of this post.

My biggest issue with these companies is they don't provide a pathway to go from education to IMO what is truly the hardest part of the process: landing your first entry level position.

I ended up hiring an ex-tech lead / senior dev to mentor my personal development. He helped guide me through the job application process and suggested technical areas for me to strengthen. He gave me tips to increase my visibility to companies, the same ones he did as a junior. I would imagine there's thousands of people who finished some bootcamp/online curriculum and are lost trying to find their first technical job.

I would've loved for a company with a learning platform to help fast-track new graduates to applying to entry level positions especially given the platform acting as a first filter.


I totally agree that getting your first job is one of the hardest things about the process. Which is why we've dedicated an entire module in the Frontend Developer Career Path to "Getting Hired". At our current price point though ($19/month), we're not able to do any hand-holding to help people get their first job (which tends to require that). But we are going to launch price tiers which will allow us to give more career help, as the perfect school IMO definitely ensures that you get a job at the end :)


Scrimba is absolutely phenomenal. Our company bought the CSS course sometime ago and it has been amazing. Our frontend team realized how much we were just skating by with our CSS knowledge and personally learnt quite a lot from it.


Extremely cool! As someone who makes their living by teaching people how to code, this looks like something I'd love to use. Please consider open sourcing or making the pricing affordable even for smaller institutions/individuals.


Actually, anyone who wants can create Scrimba screencasts, group them in a playlist and share them with e.g. their class or community.

If you need any help to get started, just ping me at per@scrimba.com :)


Yes! Interfaces predict outcomes. And Scrimba's well-architected front and back end looks ridiculously engaging.

Will recommend to all prospective coders. And am definitely mining that Imba scheduler for ideas and inspiration ;)

Best of Luck, Per!


Wow this is cool since I was thinking of this exact problem a couple days back. My thought process was inspired by Loom videos where I thought a round head of the instructor in front of an interactive IDE would be a great way to reach.

My idea was to try to create a VS Code plugin for this when instructor videos, stitched with a Git repository would "play" inside the IDE.

Edit: The homepage of Loom has a good enough example to get the idea I had, just imagine the instructor head and the video controls inside your Editor. https://www.loom.com/


Scrimba is amazing, had a lot of fun playing with Imba as well.


Thanks a lot! A new version of Imba is about to be launched soon btw, which features a much better developer experience :)


The veeery wip docs can be found at https://v2.imba.io :)


I see there's an hydration example!

(which I think wasn't available in v1)

Will Imba v2 support partial hydration?


Yep - the scrimba site is using partial hydration heavily. Hope to get imba 2.0 final out in a few months :)


Awesome! Thanks for your work!


Hey Per, I'm a big fan of your product. I used it as a tool to teach people how to code. I used many tools and scrimba was one of them.

2 questions. can you tell me more about your competition and how you're planning to navigate the market with competitors?

how do you get new users?

how do you keep students engaged to finish the course? people i've introduced into scrimba never finished the course and ended up going to a different course.


I don't really see why this would be better than the traditional format with lectures that go through the theory with some examples, and then homework tasks you solve yourself. As long as those tasks are appropriate, it's an excellent method that closely mirrors the realities of being a developer. I learned iOS development from the Stanford course and I can't imagine a better way.


The traditional format will endure, but don´t you think there is ways to improve it? I would think the format is a compromise around the constraints of a teacher to student ratio and the availability of different media where whiteboard was an excellent way to share before digital media. People who learn well from watching others and are highly motivated to get their hands dirty perform well with this format. But isn´t it better to get help if you are stuck - either automated as our format have the context you are working in or by easily sharing your actual code with the context it is written?

We propose that bringing the process of writing code closer to the teaching materials will make more students likely to write more code. We also think making it easier to share your code within a context, without setting up a matching environment online or that the group teacher has to copy it locally, will make it easier to get quality feedback. And we will introduce this feedback loop as a part of the courses where students give feedback on each others code. We think that will give more people access to learning to code, and we can bring it even closer to the realities of being a developer.


i love learning with scrimba. when they first introduced monthy subscription, I enrolled without thinking twice. Been following per before scrimba days from his medium posts. They have recently improved UI so much. I'm half way through the program. hope to do my entire coding learing via scrimba in the coming years, like both frontend and backend.


As someone working on a similar space (https://codehike.org) I really like what you are doing. I haven't tried any full course but I can imagine how the format improves the learning experience while also making the job easier for the instructor. Good luck!


is this platform available b2b? as school I would like to use the solution using my courses with my own students.


You can already sign up, create casts, add them to a playlist, and share it with your students. That won’t cost you a dime.

However, the current version of Scrimba isn’t really tailored for this B2B use-case, as I can imagine you’d want to be able to follow students’ progress and perhaps even get assgnments from them?


Thank you, I will sign up and explore more, I'm very interested because I feel the social responsibility to leave some legacy, I can educate 100 people before I retire as professional software developer.

RE: exactly, what you call the student metadata metrics and ways to detect who/what/when to reinforce.


i loved the email courses you did. congrats on the launch and good luck as you grow!!


Thanks! We're soon going to start a new newsletter which will give people one coding challenge per week. It's inspired by the one-week email course we did, as people seemed to like it a lot :)


Is it possible to buy a single course, or only to subscribe to the whole platform?


We only support subscriptions at this point, not one-off sales.


I'm a fanboy at this point


Hey it seems like there's no way for a prospective student to see how the course is taught before they buy? As far as I can see, all course contents are pay-walled.


The majority of our courses are free - check them out here https://scrimba.com/allcourses?price=free


It's a great platform. I highly recommend their react courses


Scrimba is amazing! Learned a lot from it!

Is this new video format that you developed opensource? Is there a link somewhere where we can learn more about it? Did some research and couldn't find anything.

Thanks!


Thanks! Scrimba itself isn’t open source, but we have considered is, so maybe we’ll do it sometime in the future :)

The language it’s written in is fully open source (created by our CTO, Sindre). You can learn more about it here: https://imba.io


Both Scrimba and the language it's written in, Imba, blow my mind! Truly an amazing job on helping the web move a tiny step in the correct direction.


Worth mentioning that "Imba" is the Swahili word for "Sing" :-), just curious what was the reason behind the naming?


Why do you guys not have an Imba course on Scrimba? I can't find anything about Imba in the 'All Courses' section


Novel. Any plans to include flutter in the curriculum?


Second this! flutter would be amazing to learn in scrimba


Not at the moment unfortunately.


Is Scrimba open source?


No, but we’ve considered open sourcing it, so we might do it one day.


Please do. I am also working on an edtech project and would love to integrate this into my courses.


I am such a big fan of Scrimba and everything you’re doing, Per! As someone who learned to code by watching YouTube videos, I immediately saw the value. More than that, I saw the FreeCodeCamp community rush to sign up, engage, and learn from all your new courses. This was only a sign of what was to come. Watching the Scrimba platform, instructor base, and lesson database evolve this year has been awesome, and I see no reason why you’d slow down now. Acquisition offers from the likes of Pluralsight are coming!




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: