/working · 2015 - 2018
Pythonroom
cto · 500k+ students · acquired by tynker
Pythonroom put the Python classroom in the browser, so a class could open a link and start coding. Over half a million students used it before Tynker acquired it in 2018.

Pythonroom was the easiest way to teach Python in your classroom. In 2015, I teamed up with Abhinav Mathur to bring computer science education to every classroom with a web-based Python editor and a real-time teaching platform. It was inspired by a prototype I had built at Techlab for managing Python summer camp lessons.
In 2015, getting an interpreter installed on a classroom's worth of school laptops was a significant hurdle to teaching Python, let alone assigning homework (where students would have to install it themselves). No matter how user-friendly we made the setup instructions, it was clear that the only viable option for homework was to have students be able to write code directly into the browser.
One of my initial inspirations for this was not actually anything to do with running Python in the browser, but actually with the code editor itself. Someone I have looked up to for over a decade is Marijn Haverbeke, the creator of CodeMirror. CodeMirror is a code editor library that is used by many popular browser-based code applications, with the alternative option being Monaco.

Teaching the art of tracing#
One of the core ideas of me and Abhinav's curriculum was the art of tracing, where students learn how to intuitively evaluate Python expressions. We explored this idea in depth with a partnership with Crystal Springs Upland Schools, who gave us creative control over an entire semester of computer science curriculum.
The curriculum taught students to trace how Python evaluates an expression, one step at a time, before asking them to write anything. The lesson plans went much slower than typical computer science curriculum, because we were rigorously building a mental model.

Built for classrooms#
I used Firebase to enable a teacher to see all thirty students' editors at once in real-time, so they can tell who was stuck without walking the rows. This was a truly beloved feature by our users, but it was horrendously expensive to run due to Firebase's pricing, especially after they were acquired by Google. Luckily, by the time we scaled to half a million students logging in every day, I had figured out Websockets and how to set up a server on EC2 that could handle the traffic.
Acquisition#
Tynker acquired Pythonroom in 2018, and our content was integrated into Tynker's unified classroom offering as the Python 201 course.
The platform and the teaching methodology we developed went on to reach tens of millions of students through Tynker, which was itself later acquired by Byju's. Byju's founder Byju Raveendran was recently handed jail time in Singapore, a wave of lawsuits around defrauding investors, and generally a shitstorm of epic proportions. Before you feel even a tiny bit of sympathy for Byju, know that this was the most viceral form of predatory corporation, one that preyed on the most poor and desperate. The rise and fall of Byju will undoubtedly be a subject of great interest after all of these legal actions are settled.

links