Visualization of merging two data objects.
Visualization of merging two data objects.

RESTful patterns fit best into services that are rigid and basic in how they implement CRUD methods. The “U” in CRUD — the update method — is often the most complicated. On the surface, it is simple in concept (just update some data) but there are many ways to interpret that meaning and fit it into your system. The easiest update design to implement is to PUT new data in place of the old, and the most difficult is to PATCH new data over the old. …

Yesterday, Toast, Inc. announced that it would be laying off or putting on furlough roughly half of our workforce. This sent a shockwave across the organization — it was the most emotional and tense moment I’ve experienced in a long time, especially in any work environment.

After the initial company-wide announcement, individuals began receiving the news of their own standing over the next 24 hours. People who hadn’t yet been notified of their status yesterday were ending the day early to go for walks or reflect on the unfolding moment and make sense of what was happening, only to return…

In this article, I’ll demonstrate how to create a public API with gRPC. The application code itself will be relatively simple and won’t include authentication, with more focus instead on the tooling and methodology around building the service as a whole and exposing the protobufs so that consumers can generate clients from the same protos to use the service.

Learning Objectives

  • Create a Protocol Buffer library
  • Create a gRPC service implementation (Java)
  • Create a gRPC client implementation (Node)


Create a Protocol Buffer Library

We first want to create the protobufs that will describe the API we want to build. In this example…

Protop (“proto p”) is a new tool for working with protocol buffers. The core focus of the project is the challenge of dependency management and resource sharing, especially for projects that span beyond a single code base — think: distributed systems, public APIs, or even just common protobuf definitions.

protop logo
protop logo


Monorepos for developing/building protobufs have become convention for a few reasons — mainly easy sibling dependency and pipeline aggregation. But this quickly becomes an anti-pattern when the monorepo itself becomes a complicated bottleneck for workflows. …

I recently began working with the Lightning Component Framework (Salesforce’s latest front-end toolset). As a Javascript — and particularly a React + Redux — developer at heart, of course one of the first questions I had when entering this new space was how it lends itself to flux architectures.

Out of the box, Lightning comes with a hefty load of useful features that can be uniquely composed to create a unidirectional data flow, but it doesn’t come with any specific suggestions for exactly how to set something like that up. Perhaps that’s because it really isn’t that difficult, or maybe…

This article will go through the process of building a chatbot from scratch using Amazon Lex for language processing, Loopback for creating a REST API and serving up the front end, and React for building the front end. The aim of this example is to be as reduced as possible in terms of how much goes into each step in order to get a full stack bot framework up and running. Of course, you could reduce the process much further with different tools entirely, but I’ve chosen these because they will probably scale very well.

The following steps are subdivided…

There are a good number of tutorials and boilerplate / template repositories out there for developers just getting started with React or Express or Webpack. Oftentimes, such projects tend to focus mostly on one particular aspect of the setup and less (or not at all) on the rest. This makes it hard to fit the pieces together sometimes, and especially challenging to become competent enough to start a full-stack project on your own without the assistance of several uncoordinated guides / documentations.

In an attempt to ease the process of learning some of the new tools I’m particularly interested in…

Jeffery Shivers

Software Engineer at Toast. Creator of Alumnus of IDEO & GNU (Google Summer of Code, 2016).

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