GraphQL uses JSON by default, but other serialization formats may be used instead.In this session, we start from scratch and construct a purpose-built binary serialization format for GraphQL. Come and learn about the tradeoffs involved when designing serialization formats, and see if the resulting compact format (Argo) is a good fit for your GraphQL API! Choose compelling design goals for a serialization format Build up a format with distinct advantages over JSON Compare and analyze the practical tradeoffs between JSON and a purpose-built format By the end of the session, we will have built up to Argo: a compact and compressible binary serialization format for GraphQL. After the session, more details can be found in Argo’s open source specification, design notes, and reference implementation. This talk assumes significant familiarity with GraphQL (particularly the Schema Definition Language) and JSON. See Argo on GitHub, Argo homepage (including link to Argo spec), or Mike's website.