Share your Apollo & GraphQL stories with the community!

The Apollo community is made up of developers around the world building client-side experiences on top of the data graph.

If you’re as excited about the data graph as we are, one of the best ways to help the community is to write about your experience! We love community blog posts, and we’d love to work with you to get your post published on the Apollo blog.

How to get started

Submit your idea using our 👉 Blog Post Proposal Form!

Don’t worry, your first draft doesn’t have to be perfect! We’ll work with you to transform it into an awesome blog post.


Use the useLazyQuery hook!

Sometimes, you don’t want to fetch data right away- but instead, you’d like to fetch data manually in response to some sort of event, like a button click!

In this quick article, I’ll show you how to use the useLazyQuery hook to manually trigger client-side GraphQL queries.

Project setup & demo

We’re using Apollo Client 3 with React Hooks, and Trevor BladesCountries API.

You can find the entirety of the code in a Codesandbox here:

Fetching data in response to a click event

Here’s the relevant code sample, we import useLazyQuery from @apollo/client, write a GET_COUNTRIES query, and define the getCountries function that we use to invoke the query.


Learn how to use GraphQL to upload files with multipart upload requests

As time goes on, it looks like more developers are choosing to build their public-facing APIs with GraphQL instead of REST. We’re going to see a lot of the same problems people were solving with REST, solved with GraphQL, in a much cleaner and enjoyable way.

A common task in a lot of web applications is performing file uploads. Luckily, if you’re using Apollo Server, uploads are enabled by default.

By adding the Upload type to our Apollo Server type definitions, we enable the ability to upload files from the client.

If we build a mutation that utilizes the Upload

A guide to choosing the approach that best suits your use case

File Uploads have an interesting history in the Apollo ecosystem.

With Apollo Server 2.0, you can perform file uploads right out of the box. Apollo Server ships with the ability to handle multipart requests that contain file data. This means you can send a mutation to Apollo Server containing a file, pipe it to the filesystem, or pipe it to a cloud storage provider instead.

While this approach works and is relatively trivial to implement, it does come with drawbacks. …

GraphQL Summit 2019, the world’s biggest GraphQL conference was hosted in sunny SF

Recapping all the best practices from federation to caching

This year, I flew out to San Francisco to attend (and help host!) my very first GraphQL Summit.

As a Canadian flying to San Francisco for the first time, I was delighted to escape the Toronto cold to explore a new city, meet my awesome new Apollo colleagues, hang out with puppies (oh yeah—we had a puppy booth 🐶), chat with devs from around the world, and of course learn everything I could about the present and future of GraphQL.

From the two days of talks, roundtables, and hallway conversations, some exciting themes emerged at Summit:

  • GraphQL is mature and…

Landing your first junior developer job is an amazing accomplishment. You’ve worked really hard towards getting the skills to pay the bills and now you’re ready to prove yourself in your new job.

You’re definitely excited. And you should be. Being a developer is awesome. But with that excitement, it’s also normal to be feeling a bit nervous. My first week as a developer was pretty hectic. My first day, I was given a 200 line SQL query to try to make sense of… I still have flashbacks from that. …

Software architecture is a craft, guided by the right tools for the job

Strap yourself in. In this guide, we compare when it’s absolutely vital to be using TypeScript, the strictly-typed programming language, and when it makes sense to stick to vanilla JavaScript.

Originally published April 6th @

Have you heard of that little programming language called TypeScript? You know, the one that Microsoft made? The one that’s kinda blowing up?

Maybe you were like me, a true JavaScript purist. I was doing just fine building things with React and Node without types. Prop types and Joi validation have been treating me just nicely, thank you.

Maybe you caved at some point…

Khalil Stemmler

Developer Advocate at Apollo GraphQL ⚡ Author of ⚡ Advanced TypeScript & DDD at

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store