How I keep a single GraphQL schema as the source of truth across a client and a server: sharing the SDL, generating types on both ends, and using fragments to declare a shape once and compose it into complex reusable types.
My approach to shaping an Apollo server's GraphQL context around three fields: a resolved current user, a shared data layer, and a fresh set of DataLoaders.