Some tricks that help me stay sane when the internet is calling

Image for post
Image for post
Photo by rawpixel on Unsplash

Going into 2019, I want to spend more time on people I care about, activities I enjoy, and personal growth and self-reflection. While I believe that the internet, smartphones, and social apps will have an overall positive effect on society, they’re also causing us suffering: Distractions, information overload, and isolation. But thankfully, we own our smartphones and social media accounts, not the other way around. How can we make them work for us?

In this article, I’ve put together some of the changes I’ve made in the past few months to enable myself to do more of what matters to me, and to be more present in my day-to-day activities. …

How we power React component tests and examples at Stripe

Image for post
Image for post
Photo by rawpixel on Unsplash

GraphQL’s main benefit for frontend developers has always been excellent tooling and developer experience. Chief among those is the ability to easily mock your data. API mocking is critical because it lets you write and test your components without having to run your whole app backend. You can even develop UI components based on a mocked schema when the backend implementation isn’t done yet, speeding up development.

In the last few months, the Dashboard Platform team at Stripe has been integrating GraphQL and Apollo for data fetching in the Stripe Dashboard. Our goal is to create a smooth and productive experience for product developers across the whole company. One of the most important aspects of that is making testing as easy as possible. …

How to run your API using Netlify Functions on AWS Lambda

Image for post
Image for post

Apollo makes it easier than ever for product developers to integrate data from any backend into a React app. With new releases like Apollo Server 2.0 that make it super simple to set up a production-ready GraphQL layer, only one question remains: Where do you host your code?

Recently, I’ve been extremely excited about one answer to that question: Netlify Functions, a new way to deploy server-side code to AWS Lambda alongside your frontend, right from GitHub. Here’s why I think Netlify’s new functions feature is a great way to get started running your whole Apollo app:

  1. Use the same platform to deploy your frontend and API code. …

Five steps to get from idea to polished result

Image for post
Image for post

I’ve been working in the open source community for almost 5 years now, building and promoting developer tools including Meteor and Apollo. In that time, I’ve found that blogging is one of the most effective ways to spread ideas.

A blog post doesn’t take as long to prepare as a video or conference talk, but is easy to consume and can reach a ton of people. I’ve also personally gotten a ton of benefit out of writing: it has helped me organize my thoughts, teach people about technologies I love, and get my name out there.

Since publishing my first blog post ever in 2014, I’ve ended up writing 68 posts so far here on Medium, some with over 50k views and 1000 fans, and edited many posts for my friends and coworkers. Over that time, I’ve picked up a few strategies for taking a post from concept to publication. …

After an incredible 4.5 years, my time at Apollo and Meteor is coming to a close

TL;DR: It’s been awesome and I couldn’t be more excited about the future of Apollo. I’m joining Stripe at the end of August. Read on for the story.

Image for post
Image for post
Matt, my awesome manager at Apollo.

The history

In 2013, I was entering my last year of college and wondering what I should do next. In a lot of my internships and personal work, my favorite part was coming up with creative new ways to improve the developer experience.

The state of the art in those years involved a lot of Rails, Backbone, jQuery, CoffeeScript, and Angular 1. I felt that app development could be dramatically better. …

Open sourcing Apollo Engine’s metrics collection features

Over the last few weeks, you might have heard a lot about Apollo Server 2.0, which is currently in the RC stage with the final release coming soon. It’s the biggest open source release we’ve worked on since Apollo Client 2.0 last year. Here’s our focus for this major new version:

Apollo Server 2 will come with everything you need to take your GraphQL API from prototype to production.

No more pulling in several libraries, wiring them together, and figuring out best practices on your own. We heard it loud and clear from the community: you should just be able to install one open source tool for GraphQL API development and use it throughout your whole development lifecycle. …

What non-null fields do, how to use them, and integration with statically typed languages

Image for post
Image for post
Like the hole in a donut, what isn’t there can be just as important as what is. Photo credit Tommy Chheng:

When you’re working with a REST API, you don’t always know exactly what fields you’re going to get back when you call an endpoint. GraphQL improves on that by having a complete schema of your available data, and giving you back exactly the fields you asked for. But what if a field is simply not available, for example if the record you’re retrieving never got that value assigned, or there was an error fetching a piece of data?

Even GraphQL can’t get you a piece of data that doesn’t exist, but it has the next best thing: a built in concept of nullability. A field can either be nullable or non-null, and this tells you whether or not you could receive a null value when you ask for it. …

Hear about Meteor 1.7, cutting-edge Meteor tooling, and production stories

Image for post
Image for post

It’s been a minute, but Meteor Night is back! Huge thanks to Lucas Hansen and Qualia, who are going to start hosting the event regularly. The first one is coming up next week, and Ben Newman from the Meteor team and prolific package developer Theodor Diaconu will be flying into San Francisco to speak at the event!

Here’s what you’ll hear about:

  • Lucas Hansen, CTO of Qualia: “10,000 Hours Into Meteor”. You’ll hear about Qualia’s extensive experience running Meteor in production, and some of the awesome tooling they’ve built for it in-house.
  • Theodor Diaconu, CEO of Cult of Coders: “Redis Oplog, Grapher, and Apollo Live”. Theodor and Cult of Coders have built some of the coolest new tools for the Meteor community, and you’ll get to hear all about them! …

Converting between schema strings, introspection results, and schema objects

Image for post
Image for post
Three formats representing the same data schema in slightly different ways.

One of the best parts of GraphQL is that it provides a clean definition of the data available in your API through a schema. The schema describes the types and fields you can query, and also includes any relationships between those types.

The schema is what enables GraphQL to have such a variety of useful developer tools including auto-completing query explorers like GraphiQL and GraphQL playground, editor and IDE integrations, query validation tools, code generation, automatic mocking and more. …

Announcing graphql-tools 3.0 with schema transformations and simpler delegation

A few months ago, we launched the first version of a new concept called “schema stitching” in graphql-tools 2.0. Schema stitching is a way to combine multiple GraphQL APIs together, or use an existing API in the construction of a new one. Since the launch, we’ve been excited to see this concept gain a ton of traction in the GraphQL community and we’re more confident than ever that this is going to be a promising long-term direction.

Here are some of best use cases we’ve seen:

  1. Developing your GraphQL API as a set of microservices, and then stitching them together to create one complete…


Sashko Stubailo

engineer at @stripe. previously open source eng manager at @apollographql and @meteorjs,

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