Today I Learned

This page is under construction and you may witness some errant behavior here as I try to turn this page into the home of my microblogging "TIL" efforts. It will get better, but until then, excuse the dust and exhaust. These microblogging posts won't be limited to GraphQL topics as I keep learning about processes, tools and automation things that will help me produce more GraphQL content. At least that's my goal.

12Jun 2022

GraphQL Voyager makes a GraphQL API’s schema into a visual display that can be navigated and shows the data that lives on the edges. This is super useful in understanding an existing schema. I’m using it on the Github API.…

02Jun 2022

GraphQL social reach change in May 2022 - part2

Github Metrics

  • Watchers. -1
  • Forks +8
  • Stars +25

  • Stack Overflow Questions +674

02Jun 2022

GraphQL’s social reach change in May 2022.

  • +1493 Twitter Followers

No change on discord

  • +   71 LinkedIn User Group
  • + 293 Meetup members

27May 2022

The Web Platform team at Major League Baseball is responsible for multiple web properties like, USA Baseball,, and more.

Over the last nine months, they have implemented Federated GraphQL. More details to follow in Monday’s GraphQL Landscape Weekly Report.

25May 2022

GraphiQL 2.0 UI mocks.…

23May 2022

Twitter has been using GraphQL in production since 2017 making it one of the early adopters and a source of many challenges and solutions and more than a few custom tools.

22May 2022

The client implementations for both Twitter and the New York Times use both Relay and GraphiQL.

Relay, also developed and used at Facebook, is something I need to learn more about. I would love to hear from others what resources they have used to learn about Relay.

21May 2022

Why FE devs are salty about union types in a GraphQL schema?

Anytime the schema devs add an arm to a union type it will cause a breaking change on the client, IF the client doesn’t account for unknown types in their query.

12 May 2022

News to me:

The BFF (Backend for Frontends) architecture pattern was created at Soundcloud circa 2015 and is based upon the strangler pattern.

May 9, 2022

Next, you’ll want to add a helper function in your resolvers.

export enum QueryStatus {
   success = ‘SUCCESS’,
   notFound = ‘NOT_FOUND’,
   error = ‘ERROR’,

export const success = (node: Customer) => ({ 
   status: QueryStatus.success, 
export const notFound = (message: string) => ({ 
   status: QueryStatus.notFound, 

export const error = (message: string) => ({ 
   status: QueryStatus.error, message

May 9, 2022

What does the ! do?

Bang indicates a value that can’t return null. The field will return either a value or an error.

May 9, 2022

I just received a question on why GraphQL always returns HTTP status 200.

The specification defines GraphQL at the application layer, but the status code reflects the status of a transport layer.

To return query statuses you need to add a type to the schema with a field for status.

type Customer {
   id: Int!
   name: String!
type CustomerResult {
   status: String!
   message: String
   node: Customer
type Query {
   customer(id: Int!): CustomerResult!

May 8, 2022

The first enterprise, not named Facebook,  to build a GraphQL implementation was Airbnb.

May 8, 2022

The GraphQL specification doesn’t support file uploads.

May 7, 2022

Next steps

Add a plugin for Twitter cards and test pushing these posts to Twitter.

May 7, 2022 with

  • Step 1. Set up a microblog on this site. And build a collection of posts.
  • Step 2. Set up dynamic routing in ghost by adding til to routes.yaml
  • Step 3. Testing, testing, testing

May 7, 2022


How to use for TIL with the intent to publish on a page to share the things that I’m learning. Inspired by “Learning in Public”.

May 7, 2022

This is a test to see if this will work as a platform for live blogging and In a microblog format. If what works here will update to a page on my ghost blog I’m all set.

May 7, 2022

Hello World!

Subscribe to DocDocGo

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.