Teaching people to code in bite-sized, gamified chunks delivered via mobile app is Py‘s mission. The fledgling startup is the brainchild of two friends and college computer science majors who found themselves repeatedly asked for advice on how to learn to code.
“Lots of people asked us how should we learn to program or what resources should we use,” explains co-founder Derek Lo. “We would give people different resources and we would find out they wouldn’t really complete anything. And they would find it too hard or not fun. Or they couldn’t find the time. So that’s how this idea came about — we sort of thought why don’t we create something for the phone where somebody can learn these kind of hard things anywhere and then make it also very fun.”
Py got an unexpected download boost recently after Apple featured it in its App Store — and has now racked up over 100,000 downloads. This is without concerted marketing efforts (they did launch on Product Hunt last September, so early users have skewed towards Silicon Valley/California). It’s also without an Android app — which they’ve just now released this week.
The Py duo are also now part of Y Combinator’s summer 2017 batch of startups, delaying entry into the program while Lo finished his college degree.
They started working on the iOS app in May 2016, launching a beta soon after. At the time they were thinking about all sorts of learning — pitching TC with the idea that Py would cover a broad a variety of subjects, including humanities, sciences and even courses like English grammar, not just programming topics like Python.
To my eye this seemed overly ambitious. And they have now circled back to the original focus: programming. And — even more practically — to arming budding developers with the skills they need to build specific things, such as a website or an app. The idea, says Lo, is to offer customized, modular, practical learning for developers — hence the app also has a course offering coding interview tips.
“We’ve been very focused on programming for a while but programming applied to, say, iOS development or making a website or data science,” says Lo. “So we’ve got a lot of courses on core programming — so how do I learn the basics of Swift or learn the basis of Python — but we’re just now releasing courses that are much more project-based. So how would I actually take these skills in Swift and then go and write an iPhone app? We’re very excited to be launching those kind of courses that will give people a real understanding of how this actually gets applied.”
It’s fair to say that the learn-to-code space is a pretty packed one these days, with all sorts of creative approaches to inspire learners of all ages — from board games to programmable robots to gamified learning platforms (and/or games with learn to code elements). So where does Py fit into such a competitive learning landscape?
It’s best described as fitting into the mould of (non-computer) language learning apps — of which there’s also a rich variety these days (Duolingo, Babbel, Verbling etc) — offering budding developers similarly engaging touchscreen-based interactions as a route for learning.
“There are a few very concrete ways that we differentiate ourselves,” Lo tells TechCrunch. “One is these kind of interaction types that we’re built… we have four, maybe five. So essentially users can answer multiple choice questions — they can answer in text response, so we’ll ask ‘what does this program output?’ and you actually have to type in the text.
“We have an interaction where you have to order lines in a program, so that really assesses whether you understand the flow of a program. And the ones that we are most excited about is fill in the blanks — we call it word banks. So you essentially are given these words so you have to fill in blanks in the program. So again it’s like this very interactive, fun, gamified way — similar to Duolingo in some ways.”
He says they’re also working on another interaction type they’re calling “code response” — which makes use of a custom keyboard (of their own making) to simplify the fiddly process of typing actual code on a mobile.
“Essentially we can specify the keys that are necessary to type the program. So all the words and letters and characters that would be necessary,” he says. “So it makes it way easier to actually type the program. So that’s a really cool way where people can actually write real code, that gets executed, right from their phone in a very easy way where they can do it on their bus ride to work.”
In-app strategies to make the learning more sticky also take some leaves out of the book of language learner apps (and indeed mobile games) — by including dynamic review, for example, and gamification elements — such as having users earn stars for completing course modules, and a review button that reorders module content based on elements users previously struggled with.
“It’s almost like Angry Birds where if you do the game you’ll be able to get anywhere between one and three stars and so that’s the same with us — there are a certain number of quizzes for each module… And you’ll get a certain percentage of them right. And if you get 100 per cent you’ll get three stars. And if you get 50 per cent you’ll get 1.5 stars. So this really incentivizes people to actually learn it and learn it well,” says Lo.
“Additionally we have EXP, so you gain points when you complete lessons and quizzes. And we also have a streak feature, which has definitely helped with our retention. Duolingo also does that, and Snapchat. And then push notifications. We’ve seen that timing certain notifications in the right way has been able to boost our retention.”
Design is clearly another big priority for the team, with the app having an elegant and ordered look and feel. Lo says he’s the one responsible here, having a personal interest in graphic design which led him to take some courses at college alongside his computer science major.
Currently there’s a range of free learning content in the app, but the duo are already working on their monetization plan — via a Py Premium subscription service (coming in an app update) that will unlock additional (paid) course content, and also offer a “live mentoring feature” which will let users access a real-time chat with an experienced software engineer.
And while Py is generally focused towards the more basic/starter stage of learning to code at this point, i.e. for people who don’t much prior knowledge, Lo is excited about the potential to use the mobile learning framework they’re building as a delivery medium for more advanced learning too. And that potential is what’s got Yale excited, according to Lo.
“One of the things that [Yale] were excited about is the fact that the courses are so modular, and the fact that technology is constantly changing,” he says. “One of the primary investors was very excited by the idea that maybe in the future there could be very small, short courses on very advanced topics… I truly think that would work completely fine. And that very experienced developers would love learning this way.”
The Py team raised $20k in pre-seed funding from Dorm Room Fund last October, while the Yale Venture Creation Program has also committed $100k (they’re in the process of agreeing terms when we speak). So, along with YC’s funds, they’ve raised around $140k at this point.
Lo says they also turned down a larger investment offer, of $1M, from a high profile Silicon Valley investor — on the grounds of not needing such a large amount at such an early stage. Though he says they’ll likely look to raise a seed of between $1M and $3M after graduating YC.
Their hope for the bootcamp is to learn how to scale the app into a global business, noting, for example, that one route they’re exploring for growth is partnering with code learning organizations which could make use of the app for their own user bases.
“We are first time founders. I’ve built several apps. We’ve both worked on software products before but this is the first time we’re co-foundering a company and so we think the mentorship is extremely valuable,” he says of the opportunity they’re spying with YC. “Also YC is known for… scaling a software product… They’re very good at that, and that’s extremely attractive to us. Just being able to be in a network and have that mentorship and be able to really scale and reach a global audience and reach millions of people — that’s what excites us and gets us up in the morning. And that’s what excites us about YC.”
Can anyone learn to code? “I think the answer to that is yes,” says Lo, a little hesitantly. “Maybe if you can’t read yet that makes things a little more challenging… [But] even a kid who can read, I think that they can learn to code, yes.”