Launch HN: Slip (YC S21) – Build and sell interactive programming courses
399 points| CoffeePython | 4 years ago
Instead of spending 3 or more months building their own course platform, developers can use Slip to create engaging interactive courses and make more money faster from their knowledge
In January, I built vim.so in 3 days, and made $11k in my first month. I even did a Show HN for it (https://news.ycombinator.com/item?id=25846347). I was able to do it in 3 days because I had previously spent 3 months building an interactive course for Python fundamentals. That previous experience reduced the time it took me to build a new course, which was the only reason it made sense to do. 3 days of hacking was low-risk enough that when I had the idea for vim.so, it made sense to actually try and see.
The results blew me away and actually changed my life. If sales continue at the current rate, I'll make about $50k this year with vim.so. This experience gave me confidence that I could build something and sell it on the internet. It helped give me credibility as a developer, and got me connected with lots of other cool folks building cool things.
After launching vim.so, I started getting lots of inbound requests to build other interactive courses on various topics: Ruby, Git, Bash, etc. At first I thought I'd just build all these myself but quickly realized other folks could teach these topics at a much deeper level than I could. But why weren't they building these courses? It's because it's currently too hard to make an interactive programming course. After maybe the 5th Twitter DM asking me for an interactive Git course, I decided to start a platform that helps other devs do the same thing I did with vim.so.
The main tool in Slip is an online course editor that allows you to build a course with a variety of "block types". You can use markdown, videos, code snippets, figma embeds, CodeSandbox Embeds, and executable code snippets. Code executions happen in remote one-off Docker containers. Code snippets are built using the open-source Ace Editor react component.
The editor is free to use. We take a 10% cut of sales made via our site (plus processing fees). We handle payments via Stripe and accept and remit VAT taxes for the author. Slip also has features to help authors make more money with their courses. For selected courses, we can run a presale campaign. We also publish and feature courses directly on our site that meet a certain quality bar.
Some devs who have rolled their own interactive course platform have spent more than 6 months just on that part! If we can remove that 6 months of non-content work, more devs will be able to build better educational materials. I've met multiple folks making over 6 figures a year teaching programming courses. Slip will be a success if we can help many more people do that, a lot more easily.
If you have any experience building educational programming courses or ideas on what programming courses are lacking today, or have any thoughts to share, I'd love to hear from you!
[+] [-] codegeek|4 years ago|reply
[+] [-] cubite|4 years ago|reply
[+] [-] reilly3000|4 years ago|reply
1. The first time I clicked the magic link in the login flow took me to another login prompt. I re-entered my email but got a warning that I was requesting another link too soon. I went back and clicked the link again and was logged in right away.
2. Once logged in I see an empty page at https://app.slip.so/author - there is the side nav, but nothing in the main well.
3. I did notice a couple of console warnings around cookie attributes: Cookie “__tld__” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cook...
I was also wondering for the SQL course if it would be feasible to stand up an in-browser sqlite database via sql.js and/or make an API call out to a service to stand up a database for student use.
Congrats on the launch and keep me post if this could be a viable course for your platform!
[+] [-] cschneid|4 years ago|reply
[+] [-] CoffeePython|4 years ago|reply
we plan on adding support for sql courses :)
[+] [-] CoffeePython|4 years ago|reply
[+] [-] cubano|4 years ago|reply
Being a mid-50s dev with 35 years of programming experience, I'm finding ageism (or something) blocking my ability to get hired these days, so teaching is something I've been seriously thinking about. Your platform could very well be an ideal way to explore this path.
So a practical question...do you have any way to gauge course interest before one spends the time creating it as to make sure there will be a profitable number of students when the course starts?
As someone who is needing some income, I would hate to blindly spend a few weeks creating a course on, say, LAMP-stack + Bootstrap webapp development...only to find out that only 2 people are interested in this tech and I just spent a month to make $100 bucks or whatever.
I'm sorry if this is perhaps coming across as "crass" or something like that with simply focusing on the income side of things, but in general having a list of course topics that potential students have expressed interest in sure could be a useful thing to help one build courses that people actually want.
Anyway...congrats on the launch. So far the site seems really easy to use (LOVE the single email registration/login prompt! You have no idea how much I've argued for this sort of thing with past clients) and hopefully this will be the start of something mutually beneficial.
[edits]
[+] [-] AH4oFVbPT4f8|4 years ago|reply
[+] [-] CoffeePython|4 years ago|reply
We have a presale feature available for select authors that we think are promising. We're going to formalize the process for getting selected soon but in the mean time a good way to gauge interest is to try and promote the idea of your course to any type of audience you might have. An email list is a decent idea for gauging interest
[+] [-] jsdevtom|4 years ago|reply
[+] [-] CoffeePython|4 years ago|reply
[+] [-] boaticus|4 years ago|reply
Let's face it, there are many platforms out there already which are ideal for publishing a programming course. There are obviously pros and cons with each.
I'm glad to see Slip has such a straightforward and open revenue model. Some course platforms work on a royalty model where you are paid by minutes of your course videos watched... which can make it difficult to estimate how much you'll earn for all your hard work.
It's also nice to see that you're handling taxes and VAT obligations. Few do that. Udemy springs to mind as a platform that also handles tax, but there are others. I think going forward that more and more platforms will need to help their merchants handle tax, so kudos to you for thinking about it from the start.
Some of the platforms like Scrimba.com, Tuts+ and egghead.io are invite-only. I'm really glad to see you didn't go that route. However, those platforms will tell you they do it to ensure course quality and happier outcomes for students.
Which brings me to my questions...
Q1) Since you've created an open course marketplace, how do you plan to ensure course quality?
Q2) In the spirit of openness and transparency, I'm not seeing any links to terms of use, privacy policy, or policies that apply to instructors (licensing, payouts, dispute resolution, etc). For example here's Udemy's Instructor Terms (https://www.udemy.com/terms/instructor/) which references their promotions policy and various instructor obligations. Are your versions of those documents still in the works? If they already exist, are they only visible after you register (that would be an anti-pattern, but maybe there's a good reason)? Are you planning to make those viewable before someone signs up to the service?
Q3) Programmers aren't always natural course creators and effective teachers. Are you planning in the future to offer educational materials to help guide programmers on best practices for planning, producing, and publishing their course?
[+] [-] CoffeePython|4 years ago|reply
Q2) Ah yeah we have a ToS, i'll add it to the home page rn. It's still evolving.
Q3) Yup we want to help more developers realize they can be teachers. Figuring out how to better take a dev from Never teaching -> Making money while creating real progress in their students, is a big goal
[+] [-] michaelmarion|4 years ago|reply
[+] [-] CoffeePython|4 years ago|reply
[+] [-] gregdoesit|4 years ago|reply
I can see this approach scale beyond just tutorials: at Uber, we had an in-house interactive platform called codelabs we used for onboarding for new systems. It was dead simple to use and engineers created a lot more helpful materials that were easier to understand. Slip reminds me of this approach as well.
Best of luck!
[+] [-] CoffeePython|4 years ago|reply
Cool to know other companies are already building things like this in-house. Thanks!
[+] [-] mind-blight|4 years ago|reply
Do you have a roadmap for supported languages yet? I saw node, but I'm curious about when Typescript will be added as well.
[+] [-] seqizz|4 years ago|reply
- What is the scope? E.g. only some predefined programming languages or say, Puppet is also OK?
- Who decides the pricing of a course?
[+] [-] CoffeePython|4 years ago|reply
You decide pricing but we will give feedback on our thoughts on the price you pick. The marketplace is a curated one, so we'd have to approve it.
[+] [-] drchiu|4 years ago|reply
Congrats on the launch.
[+] [-] CoffeePython|4 years ago|reply
[+] [-] legutierr|4 years ago|reply
[+] [-] MattyMc|4 years ago|reply
I'll definitely have a look. Good luck!
[+] [-] CoffeePython|4 years ago|reply
Definitely need the feedback loop to learn programming skills effectively.
[+] [-] prank7|4 years ago|reply
Please try it out, would love to get your feedback.
[+] [-] duanra|4 years ago|reply
I think import/export in Markdown would be a killer feature, in particular because it then makes things super easy to synchronize with GitHub, which is a must to version a course. And also, it enables to collaborate easily.
Does the editor enable collaboration? I mean, more than one writer?
A low hanging fruit maybe: may code blocks come with already loaded, popular code formatters / linters? And also text blocks with spellcheckers? I think this would benefit the editor.
[+] [-] CoffeePython|4 years ago|reply
love the idea on code formatting/linter/spell checkers
[+] [-] asicsp|4 years ago|reply
That's a very generous offer. One of the sites I use to sell my ebooks takes 20% (includes processing fees, but still higher than 10%+fees).
>We handle payments via Stripe
Does it mean payout is via Stripe too? I only have Paypal as an option.
>You can use markdown, videos, code snippets, figma embeds, CodeSandbox Embeds, and executable code snippets.
Can you import/export this as a text file? I write my ebooks in markdown, wondering if there's a way to easily adapt it.
[+] [-] CoffeePython|4 years ago|reply
You can't import/export yet but do plan on adding that
[+] [-] faraaz98|4 years ago|reply
I don't if how someone who's looking to buy a course would feel about that. Have you use tested it?
[+] [-] CoffeePython|4 years ago|reply
We want to be the easiest tool for developers to create awesome and engaging courses.
In the future, as we start getting more courses published, I imagine we will probably swap the home page to be more course taker focused.
[+] [-] monroewalker|4 years ago|reply
[+] [-] CoffeePython|4 years ago|reply
[+] [-] amansidhant|4 years ago|reply
One question though (and this is a question I've had for a while with all these ed-tech startups) - how do you ensure the quality of the courses outside of plain ratings? What's the guarantee that the course creator has explained things in a way that will help someone learn effectively?
[+] [-] CoffeePython|4 years ago|reply
[+] [-] omarhaneef|4 years ago|reply
Reason is: it is too early to help with discovery now but it is going to take off, one would want to get in early to benefit from the growth.
[+] [-] CoffeePython|4 years ago|reply
I can see the value of showing how we are differentiated though!
[+] [-] joshuawright11|4 years ago|reply
I've considered building some tutorials for a backend framework I was working on, and it would be sweet if they were interactive.
Wondering if it would be feasible to have a server running in the one off docker containers so that people could run some simple requests on it to see how it works. It would also be sweet if it could run a simple SQLite database so users could play around with the ORM components as well.
Congrats on the launch & I'll be following this!
[+] [-] CoffeePython|4 years ago|reply