GraphQL currently provides polymorphic types to model complex objects but cannot allow the mutations for interface object types. Over the course of the talk, I will be discussing the problem in detail, illustrating my personal experiences with this problem when working in Shopify’s core monolith, and then providing some lessons learned from our implementations.

I will be talking about two main implementations of how we solved this problem at Shopify, exploring their benefits and drawbacks. Further, I’ll be illustrating how Shopify has been sharing our implementations with the greater GraphQL community by working with the GraphQL working group on creating a native solution in an upcoming GraphQL specification.