Rethinking Coach Reports

Guest blog post from Josh Netterfield, Khan Academy intern and University of Waterloo software engineering major, discusses the thinking behind his work on our latest coach reports, which provide key student data to coaches at the touch of a button. 

I’m part of an incredible team at Khan Academy dedicated to empowering teachers.

Currently over 70 000 teachers¹ actively use KA in their classrooms, but few actually use coach reports. Already we’ve seen how the right kind of insights can transform classrooms, but some of the data has historically been quite difficult to navigate. Since I’ve been at Khan Academy, I’ve met with some of the most active coaches on our site and I’ve been absolutely blown away by both how Khan Academy has already allowed them to help their students and the visions they had of how we can do so much more.

In particular, three questions had to be answered quickly and efficiently:

  • How much work is my class as a whole doing? How effective is that work? Right now, we have reports called “Daily Activity” and “Progress Over Time” to help answer this.
  • Who has become proficient in an assigned exercise? And who is still struggling?Right now, “Progress Summary” and “Progress Report” answer this.
  • How is each student doing? This was the weakest link. Before my first major shipped feature this week, many teachers accessed this information by painstakingly going to individual student profiles. This information was not sortable currently and questions like “How much time is each putting in”, “How many skills have they become proficient in over the last week?”, “How much are they struggling?”, “Is Alice getting her points from doing exercises or watching videos?”, and such were all answered separately.

First, as you can see, the titles of our reports didn’t really give any indication of the questions they were answering. So we gave them more descriptive names:


Secondly, we didn’t adequately answer the third question. When I started three weeks ago, I had little knowledge of JavaScript, Python, or Google App Engine (GAE). Since then, I’ve worked with designers, GAE experts and teachers to get this shipped. I worked on quick iterations, getting features tested sometimes the same day (or hour) as I wrote them, and completely rewrote parts of it until the team and I were completely satisfied with how they answered all the above questions while not being overwhelming. Here is the result:


One challenge was getting the performance we needed, so I spent some time restructuring the report to load as asynchronously as possible. As a result, I went from being worried that we weren’t going to be able to ship the product to having one of the fastest coach reports.

And this is why I love my internship:


Try it for yourself!

¹defined as coaches with more than 10 students.