Portal | Level: L2 | Domain: DevOps
GraphQL — Trivia & Interesting Facts¶
Surprising, historical, and little-known facts about GraphQL.
Facebook built GraphQL in 2012 to fix their mobile app — three years before open-sourcing it¶
Facebook began developing GraphQL internally in 2012 to solve a specific crisis: their iOS app was slow and breaking constantly because it used a REST API designed for desktop web. The mobile app needed different data shapes and less payload than the desktop API returned. The team — including Nick Schrock, Dan Schafer, and Lee Byron — designed a new query language that let the mobile client declare exactly what it needed. They shipped GraphQL in their iOS app in 2012 and ran it in production for three years before open-sourcing it at React.js Conf in February 2015.
Lee Byron is the principal author — and he went on to co-found GraphQL Foundation¶
Lee Byron, a Facebook engineer, was the primary designer of the GraphQL specification and its original reference implementation in JavaScript. He also designed GraphQL's type system, the Schema Definition Language (SDL), and the fragment system. After leaving Facebook, Byron co-founded the GraphQL Foundation under the Linux Foundation in November 2018, moving governance of the specification away from any single company. He also helped define the Relay connection spec, which became the de facto standard for pagination.
The Relay connection spec was born from Facebook's infinite-scroll feed¶
Facebook's Relay client framework for React needed a stable, cursor-based pagination interface that could handle an infinite-scroll news feed without items appearing twice or being skipped as new posts were inserted. The result was the Relay cursor connection specification: a standard shape with edges, node, cursor, and pageInfo fields. Although designed for Relay, the spec was so well-designed that it was adopted broadly across non-Relay GraphQL APIs as a community standard for pagination — even by teams not using Relay at all.
GraphiQL (the in-browser IDE) was released the same day as the GraphQL spec¶
GraphiQL — pronounced "graphical" — shipped simultaneously with the GraphQL open-source release in 2015. It provided an in-browser IDE with autocomplete, syntax highlighting, inline documentation, and query history, all driven by introspection. This was a deliberate strategy: make the developer experience so good that adoption would accelerate. It worked. GraphiQL became one of the most influential developer tools in the API space and inspired a generation of browser-based API explorers including Apollo Studio Sandbox and Altair.
GitHub replaced its entire REST API v3 with GraphQL in API v4 (2016)¶
GitHub launched API v4 in 2016 as a GraphQL API, replacing the heavily used REST v3. The motivation was familiar: GitHub had hundreds of endpoints, clients were over-fetching, and adding new features required new endpoints that broke versioning. With GraphQL, GitHub could expose a single, evolving graph that clients could query flexibly. GitHub API v4 became one of the most prominent real-world validations of GraphQL at scale and drove significant adoption among developers who learned the language by querying their own repositories.
Netflix built Falcor around the same time and lost the adoption race¶
Around the same time Facebook was developing GraphQL, Netflix independently developed Falcor — a JavaScript library for efficient data fetching that used a JSON graph model. Falcor open-sourced in 2015, the same year as GraphQL. Both solutions addressed the same over-fetching and under-fetching problems. Falcor's model was arguably simpler in some respects (plain JSON paths), but GraphQL's type system, introspection, tooling ecosystem, and the breadth of Facebook's backing drove GraphQL to dominate. Falcor still exists and powers Netflix internally, but it never achieved broad industry adoption.
Apollo GraphQL was founded in 2016 by former Meteor developers¶
The Apollo project started in 2016 as an open-source effort by the team at Meteor Development Group (makers of the Meteor.js framework). Geoff Schmidt, Matt DeBergalis, and others saw GraphQL as the future of data fetching and built Apollo Client and Apollo Server as open-source reference implementations. The project was spun out as Apollo GraphQL (later just Apollo) and raised over $130 million in venture funding. Apollo became synonymous with production-grade GraphQL and introduced key concepts including Apollo Federation (2019), which enables multiple teams to own parts of a distributed graph.
Hasura and PostGraphile can generate a full GraphQL API from a Postgres schema in minutes¶
Hasura (2018) and PostGraphile (2016) demonstrated that GraphQL could be auto-generated from an existing database schema. Point either tool at a Postgres database, and it introspects the tables, relationships, and constraints to produce a fully functional GraphQL API with queries, mutations, subscriptions, filtering, sorting, and pagination — in under a minute. Hasura additionally supports real-time subscriptions backed by Postgres LISTEN/NOTIFY. This dramatically lowered the barrier to GraphQL adoption and changed how teams think about backend-for-frontend architecture.
The GraphQL Foundation moved the spec under the Linux Foundation umbrella in 2018¶
In November 2018, Facebook transferred stewardship of the GraphQL specification to the newly formed GraphQL Foundation, a vendor-neutral body under the Linux Foundation. Founding members included Facebook, GitHub, Twitter, Yelp, Airbnb, AWS, and others. This move addressed a common concern about adopting an API standard controlled by a single corporation. The Foundation governs the spec itself (graphql.github.io/graphql-spec), the reference implementation (graphql-js), and the GraphiQL tool. The Foundation does not own Apollo, Relay, or any specific implementation — just the core spec and shared tooling.
GraphQL subscriptions were not in the original 2015 spec — they were added later and still use WebSocket by default¶
The original 2015 GraphQL specification defined only queries and mutations. Subscriptions — real-time event streams — were added later and were not standardized in the initial open-source release. The most common transport for subscriptions became WebSocket using the graphql-ws protocol (and its predecessor, subscriptions-transport-ws). In 2021, the community migrated to the newer graphql-ws library after subscriptions-transport-ws was abandoned. HTTP streaming (Server-Sent Events) emerged as an alternative transport, and the GraphQL over HTTP specification (ratified in 2023) formalized rules for both transports — finally giving subscriptions a proper standards-level home.