Elm-GraphQL Full-Day Workshop

This workshop will equip you with everything you need to make guaranteed-correct, type-safe API requests from your Elm code! And all without needing to write a single JSON Decoder by hand!

In this hands-on workshop, the author of Elm's type-safe GraphQL query builder library, dillonkearns/elm-graphql, will walk you through the core concepts and best practices of the library. Check out Types Without Borders from the most recent Elm Conf for some of the underlying philosophy of this library. Or you can read an overview of features of this library. Check out some highlights at the bottom of this event description.


  • Understanding of at least Elm basics
  • A computer with a Unix shell and NodeJS

Workshop Format

Over the course of this full-day workshop, we will cover everything from core GraphQL concepts, to the Elm-GraphQL library fundamentals, and finally advanced elm-graphql techniques.

Morning (1st Half)#

  1. GraphQL core concepts overview
  2. Elm GraphQL Overview
  3. Making your first GraphQL query
  4. Get it compiling, then get it right
  5. Using your editor to help you build queries quickly
  6. Combining fields together
  7. Basics of modularizing queries - using Elm constructs instead of GraphQL Variables
  8. Mapping into meaningful data structures
  9. Pipelines versus map2, map3..., functions
  10. Advanced techniques for modularizing your API requests in Elm

Afternoon (2nd Half)#

  1. Handling polymorphic types (Interfaces and Unions)
  2. Handling errors
  3. Getting real-time data using Subscriptions
  4. Paginated queries
  5. Dealing with real-world schema flaws
  6. Improving schemas
  7. Schema design strategies
  8. What is the purpose of custom scalars in GraphQL?
  9. Leveraging Scalars in Elm GraphQL
  10. Using custom Elm JSON decoders for your Custom Scalar Codecs
  11. Advanced techniques for modularizing your API requests in Elm

Questions? Feedback?#

We'd love to hear from you! Let us know what you think of our workshop agenda. Or send us an email and we'll be happy to help! Or ping us in the #graphql channel in the Elm Slack.

Elm-GraphQL Workshop

Sign up to get my latest Elm posts and course notifications in your inbox.

Incremental Elm

Pure Elm content. Unsubscribe any time.