This is a written version of a talk I gave recently at GraphQL Conf 2019. If you would prefer to view the video version, here it is:

Evolving the Graph, GraphQL Conf 2019. Slides

For those of you who prefer to read and want a little more background, here’s a more detailed version of the talk, complete with links and all that fun stuff. Enjoy!

Here’s an overview of GraphQL at Coursera, some of the technical decisions we made early on, and a reflection on the impact of those decisions over the last three years. …


We’ve all seen the prettier hype train (and a lot of us are on it!) and while it began as an opinionated code formatter for JavaScript, it has quickly grown to take on other languages like Flow, Typescript, and CSS. As of prettier@v1.5.0, it now supports one of my favorites, GraphQL!

Let’s let the GIF do the talking:

Using prettier for GraphQL is more than just hitting the “prettify” button in GraphiQL — it’ll take into account things like maximum line-width, whether or not you like commas in your queries, breaking up long lists of arguments on to their…


This is the first part in a multi-part series of blog posts covering our transition from a homegrown data access framework to using GraphQL across all of our clients (web & mobile) here at Coursera. This has been cross-posted from the Coursera engineering blog for visibility.

To introduce the Coursera engineering organization to GraphQL, Sashko Stubailo (core contributor to Apollo and part of the Meteor Development Group) graciously volunteered to share a beginner-level rundown of GraphQL, what it brings to the table, and where it can go in the future. …


Last week, I presented some thoughts on “Keeping Up with Javascript” at the React.js SF Bay Area Meetup. You can see my slides below.

Here are some of the questions I received from those present at the Meetup that deserved a little more exposition.

On “When to Move Fast”

During our transition from Backbone to React, we made the (seemingly) bold decision that instead of devoting an insurmountable amount of resources to completely rewriting our numerous applications in React, we would approach development in two ways:

1. All new applications are written in React.

Greenfield projects (those that lack the constraints imposed by prior work) get the flexibility of using React…

Jon Wong

Frontend Infrastructure @ Coursera

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store