Speaker

Adam Miskiewicz

Adam Miskiewicz#

About

Adam Miskiewicz is a software engineer at Airbnb, lover of his two dogs, JavaScript, and GraphQL.

Talk

Adopting GraphQL in Large Codebases#

With the vibrant and growing GraphQL ecosystem and community, it's simpler than ever to start using GraphQL in your project. However, adopting GraphQL incrementally (and carefully!) in huge codebases powering large distributed systems is not quite as straightforward. We'll dive into how Airbnb is tackling this challenge, what we've learned so far, and how we plan to continue evolving our GraphQL infrastructure in the future.

Speaker

Andrew Rhyne

Andrew Rhyne#

About

Originally hailing from Austin, Andrew learned to code at the wee age of 8 first with BASIC and then C shortly thereafter. He cut his teeth on Slackware while in grade school, and discovered his love for JavaScript and dynamic programming languages while at University. Andrew is very involved in the NodeJS OSS community, contributing to multiple Visionmedia projects such as debug and node-progress as well as the Apollostack ecosystem. He is also the creator of multiple popular GraphQL server-side libraries, including apollo-errors and apollo-resolvers.

Talk

Real-time GraphQL with Event Sourcing#

GraphQL makes real-time easy with it's Subscriptions support, but how easy is it to build a backend that puts real-time data first? With event sourcing, it's easier than you think! The ability to easily subscribe to data changes and have blazing-fast reads on our data sets at Gatsby enables our team to build a sophisticated cloud-native offering that is flexible for even the most demanding product requirements. Join Andrew as he gives a thirty-thousand foot overview of event sourcing and how naturally it fits with GraphQL and subscriptions.

Speaker

Benjie Gillam

Benjie Gillam#

About

Benjie loves using and talking about GraphQL, Node.js, PostgreSQL and React; he is the maintainer of PostGraphile, the original instant GraphQL API for your Postgres database.

Talk

Database-first GraphQL Development#

Learn how a database-centric approach to GraphQL API development can give your engineers more time to focus on the important parts of your application. Topics covered include authorization, adhering to GraphQL best practices, embracing the power of PostgreSQL, and avoiding common pitfalls.

Speaker

Carolyn Stransky

Carolyn Stransky#

About

Carolyn Stransky is a frontend developer and former technical writer based in Berlin. She currently works at Blacklane and teaches at ReDI School of Digital Integration. You’ll usually find her looking at memes or taking selfies in the nearest restroom.

Talk

Life is hard and so is learning GraphQL#

Learning a new technology can be daunting. For many of us, the way we try to make sense of a new technology is through their documentation and the examples we see online. The problem with GraphQL is that - because there’s no “vanilla” GraphQL - there’s no central hub for all of the information and tooling necessary to learn. While documentation is meant to serve as a tool for teaching, it’s underutilized and scattered throughout our community.

Consider this talk a voyage through the ups and downs of learning GraphQL. Along the way, we’ll touch on the major pain points faced by GraphQL beginners and how we can better enable our docs for learning and comprehension.

Speaker

Christoffer Niska

Christoffer Niska#

About

Tech leader with a passion for programming. Head of Tech at @digiaonline. Father of four. Open Source enthusiast. JavaScript Ninja. GraphQL evangelist.

Talk

graphql-php#

Speaker

Dan Schafer

Dan Schafer#

About

Dan Schafer is a software engineer at Facebook and a co-creator of GraphQL. He worked on the original GraphQL API for Facebook News Feed, developed Facebook’s GraphQL API Design principles, expanded GraphQL to support Mutations and Subscriptions, and contributed to the initial release of the GraphQL specification and reference implementation. Currently, he’s a tech lead on the Product Foundation team at Facebook, focused on building end-to-end client frameworks for development of the Facebook apps.

Talk

The Prehistory of GraphQL#

Speaker

Ellie Day

Ellie Day#

About

Ellie is a technologist, product engineer, speaker, teacher, and more. Currently, she works at Atlassian as a senior software engineer on the Statuspage team. In her spare time. she's the director of Women Who Code SF and helps early stage software teams scale their software platforms. Previously, she worked at Mavenlink, building highly usable and performant web products, like Full-Cycle Resource Management. Before Mavenlink, she led platform development for mRelief (YC W16), a tech non-profit, that has helped hundreds of thousands of low-income Americans get access to public assistance.

Talk

Emerging uses of GraphQL for rapid application development#

GraphQL makes dealing with application data a breeze, especially with open source libraries such as Apollo. However, many schemas simply mirror their RESTful counterparts, limiting their overall usefulness. In this talk I will cover emerging patterns that enable rapid GraphQL-powered application development.

Speaker

Eloy Durán

Eloy Durán#

About

Eloy works at Artsy, where they’ve been using GraphQL in novel ways since its inception. Being big on ‘OSS by default’, for instance creating CocoaPods, he came to the JavaScript ecosystem from a native background via React Native and chose Relay as the place where in the React/GraphQL community he can best contribute.

Talk

Where art thou, my error?#

Speaker

Glenn Reyes

Glenn Reyes#

About

Glenn is a front-end Engineer, who builds modern user interfaces and apps with React & GraphQL, loves OSS, co-organizes ReactVienna meetups, and plays JM music on guitar.

Talk

Building tools for GraphQL#

Adopting GraphQL can be fairly demanding and it takes some time to find the right tooling. What can we do to improve DX and supercharge our GraphQL development? Let's deep-dive into GraphQL tooling that help us building GraphQL at scale.

Speaker

Helen Zhukova

Helen Zhukova#

About

Helen creates user interfaces for Web and mobile mainly for live video streaming and video post-production for the movie studios. JavaScript is her first love but she is open to any technologies and skills that give her creations the best look and feel. She is a lifelong learner and loves to share her knowledge.

Talk

(Un)expected use of GraphQL#

Speaker

Ivan Goncharov

Ivan Goncharov#

About

Ivan is very active in GraphQL community and one of the core contributors to graphql-js. He is co-founder of APIs.guru which specializes in API consulting. During last few years they released a bunch of popular GraphQL tools including GraphQL Voyager.

Talk

Hidden gems of GraphQL query#

We all love GraphQL query syntax because it’s simple and easy to learn. At the same time, it has a few useful features that are typically overlooked. If you think that you already know everything about GraphQL queries this talk is for you. Warning: this talk will contain spoilers from GraphQL Specification.

Speaker

Jimmy Jia

Jimmy Jia#

About

Jimmy is a principal scientist and full-stack developer at Butterfly Network and 4Catalyzer. He is an advocate for GraphQL internally, and is committed to using machine learning and the web to save lives by advancing healthcare technology. He also maintains a number of open-source libraries within the GraphQL ecosystem.

Talk

Building efficient, waterfall-free GraphQL applications#

GraphQL makes it easy to query your back end efficiently. However, when building large applications, this is not always enough on its own. For these larger projects, it’s easy to run into situations where requests still wait on each other, to the detriment of user experience. In this talk, we’ll explore how these problems arise, and look at strategies for mitigating these problems.

Speaker

Johannes Schickling

Johannes Schickling#

About

Johannes Schickling is the co-founder & CEO of Prisma, a GraphQL-based data layer for modern applications. Johannes is interested in Technology, Developer Tools, Open Source, Startups & Music.

Talk

End-to-end type-safety with GraphQL#

GraphQL is becoming the new standard for API development and shows rapid adoption both on the client and server. This talk dives deep into one of the most powerful features of GraphQL - its type-system. See how GraphQL can be used to enable end-to-end type-safety across any language, making your application architecture more resilient and easier to evolve.

Speaker

Kadi Kraman

Kadi Kraman#

About

Kadi is a Software Engineer at Formidable, JavaScript enthusiast, believer in open source and a huge fan of sticking JavaScript on every possible platform.

Talk

Going offline first with GraphQL#

We live in a world that is online 24/7. Even so, we are reasonably lenient on the web when we're not connected to the internet. However, for mobile apps, not working in flakey connectivity zones is borderline unacceptable. Users expect your app to work offline (though they don't phrase it like that). They really don't care that a network request has failed or is taking a long time. And thankfully, we developers can make it happen.

This talk is about how tooling in GraphQL makes it reasonably straightforward to get your React Native app working offline.

Speaker

Nik Graf

Nik Graf#

About

Nik cares about good UX and development tools. He co-created several popular open source projects like DraftJS Plugins and Polished. Nik participated in Stripe’s Open Source Retreat and joined Serverless Inc. to deploy auto-scaling infrastructures. In his spare-time he enjoys writing code in Reason and play with WebVR as well as organising the ReactJS Vienna meetup.

Talk

Reason and GraphQL#

Using Reason's type inference we can create GraphQL servers with 100% type coverage. Regardless if we compile to Node.js or native binaries using Reason we can do this with ease.

Besides that Reason shines even more so on the client. Send one quick introspection request and you get full autocompletion on your schema right in the browser.

Workshop

Advanced GraphQL Concepts#

You understood the basics of GraphQL or even worked with it in a production environment? Then this workshop is for you. While GraphQL comes with many benefits it also requires some rethinking. For example how to secure your server from malicious queries or how to give different users access to different parts of the Schema.

We will answer these questions and many more by covering the following topics:

  • Authentication
  • Authorization
  • Rate limiting
  • Persistent Queries
  • Schema stitching
  • API Design

Every topic is covered by a 20 minute presentation followed by a hands on exercise. After every exercise we will briefly glance at a solution and move on to the next topic. For the exercises you can choose the programming language and tools of your choice. Just come prepared with a working GraphQL setup.

To goal is that by the end of the day you are way more comfortable making design decisions for your GraphQL environment.

Speaker

Tanmai Gopal

Tanmai Gopal#

About

Tanmai is the co-founder of hasura.io. He is a StackOverflow powered fullstack, polyglot developer whose areas of interest and work span react, GraphQL, nodejs, python, haskell, docker, postgres, kubernetes. He is passionate about making it easy to build things and is the instructor of India's largest MOOC imad.tech with over 250,000 students.

Talk

Writing a realtime GraphQL backend as a compiler in Haskell#

At Hasura, we’ve been building a high-performance GraphQL backend that can handle a large number of subscription connections. We took a few interesting approaches to tackle this problem, and in this talk I’ll go over the key architectural decisions, programming constructs and of course the unforeseen implementation pitfalls we ran into. I’ll also cover tools from the Haskell ecosystem that made this possible. These are some of the topics I’ll touch upon:

  • Fast GraphQL parsing with parser combinators
  • Modelling and manipulating the GraphQL AST with algebraic data types
  • Software Transactional Memory: Concurrency constructs for scaling graphql subscriptions

Speaker

Juho Vepsäläinen

Juho Vepsäläinen#

About

Juho Vepsäläinen is behind the SurviveJS effort. He has been active in the open source scene since the early 2000s and participated in projects like Blender and webpack as a core team member. Blue Arrow Awards winner.

Workshop

Let’s Learn GraphQL#

So you want to learn GraphQL? That is awesome! But like any other technology it's not easy to get started and get the basics of it mainly because all the docs are spread all over the place.

In this 8 hour workshop we will create a GraphQL server with Apollo Server, connect it to a Postgres database in Heroku to have a fully functional GraphQL Server.

After that we will jump to the frontend using React and Apollo to query and mutate a GraphQL Endpoint easily.

Requirements#

Backend#

  • An overview of what GraphQL is
  • The basics of a querying with GraphQL
  • The basics of a mutations in GraphQL
  • Connect to a Postgres DB
  • Using context
  • Make multiple requests in one Query

Frontend#

  • Making simple queries with React and React-Apollo
  • Making advanced queries with React and React-Apollo
  • Creating our own query component
  • Mutations with React Apollo
  • Updating the UI automatically after a mutation
  • Using pagination
  • Questions

This workshop is free. Tickets would be distributed through a diversity ticket program. Ticket will include a free ticket to the actual conference. Apply for a diversity ticket.

Speaker

Marc-André Giroux

Marc-André Giroux#

About

A Jazz guitarist turned developer, Marc-André is currently working at GitHub, where he is trying to help building better APIs. He is currently writing a book, The Little Book of GraphQL Design. When he's not hacking on or thinking about GraphQL, you might find him throwing heavy weights above his head.

Workshop

GraphQL Schema Design#

Building a brand new GraphQL API? Migrating from a REST API? If you are interested in designing a GraphQL schema that is great to use by clients and stands the test of time, this workshop is for you.

Alternating between presentations and hands on exercices, this workshop will cover:

  • Good development workflows to build GraphQL APIs
  • Common anti-patterns
  • How to build an evolvable schema
  • How to approach a migration from another API
  • Domain driven design & GraphQL
  • How to design errors
  • Must-have tooling for building GraphQL APIs at scale
  • Many other great practices used in the largest GraphQL APIs out there!

For the exercices, we will only use the GraphQL SDL (Schema Definition Language), meaning you'll get to learn no matter what language you use to build your schema.

Speaker

Mikhail Novikov

Mikhail Novikov#

About

Mikhail is a GraphQL hipster. He started GraphQL startup before GraphQL was ever public. The startup failed, but Mikhail has been active in GraphQL community ever since, working on tools like Schema Stitching and Apollo Launchpad. He is one of the organizers of GraphQL Finland.

Workshop

Building a GraphQL API with node.js#

Learn how to build a GraphQL API from scratch using Node.js. This workshop is aimed at GraphQL beginners, but you probably have built an API server before. We'll go through the basics of building a GraphQL API server, wrap a REST API with it and then connect it to a database.

The following topics will be covered:

  • Basics of GraphQL on a server
  • Resolver model
  • Ways to define a GraphQL schema
  • Schema first design
  • Evolving the backing data service, without changing the schema
  • Wrapping a REST API with GraphQL gateway
  • Connecting to a database

Workshop will have an interactive format, where I will livecode, while explaining what I'm doing. There will also be short presentations and non-coding parts, where I will explain some of the advanced concepts.

At the end of the workshop you should be comfortable building a GraphQL API with node.js.

This workshop is only offered as a bundle deal with a conference.

🥇 Gold Sponsors#

🥈 Silver Sponsors#

🥉 Bronze Sponsors#

Partners#