The Zapier Engineering Blog

A blog about hacking, development workflow automation, and how to get things done with less work.

Make Your API as Popular as Pie

Adam DuVander / Published November 30, 2016

Everybody likes pie, right? There are many kinds of pie to choose from, you would think every pie would get eaten. Yet, every day many pies go uneaten, which is undeniably sad for the many who would want to eat that pie.

But this post is about APIs. Like pie,...


Scaling Zapier to Automate Billions of Tasks

Bryan Helmig / Published March 2, 2016
Scaling Zapier

This post is about a year old now, and most of these numbers are about double/triple (either in number of instances or instance sizing). We're actively investigating and rolling out Kubernetes for container orchestration and working on some performance...


Why Zapier Doesn't Use Gevent (Yet)

Rob Golding-Day / Published January 10, 2016

At Zapier, we make a lot of outbound API requests. Almost 500 per second, to be exact. That means we spend a long time waiting for those APIs to get back to us—particularly if a popular service is experiencing issues. In fact, if you were to add up all the...


Do Apps That Integrate With Zapier Have Lower Churn?

Christopher Peters / Published March 12, 2015

At Zapier, we like to test claims against facts.

With that in mind, we recently partnered with our friends at Typeform to validate the proclamation of the Zapier Developer Platform: "Make your app stickier than honey." That is, when an app integrates with Zapier (in effect, integrating with over...


React JS Tutorial and Guide to the Gotchas

Justin Deal / Published February 26, 2015

If you haven't used React at all, you're in the right place. If you have used React, but you've run into some confusing edges, you're still in the right place. This guide covers all the basics as well...


Unlock Your Database and Create a Business Intelligence Radar in One Move

Christopher Peters / Published July 15, 2014
database query automation

One of the best aspects of Zapier's company culture is that the whole team does customer support. On top of that, we eat our own dog food—the Zapier team relies on many Zaps. Together, these practices give each teammate a stake in our customers' concerns, and they often expose us...


When REST Gets Messy

Brian Cooksey / Published July 10, 2014

Back in January, we launched a new version of the Developer Platform – the place where companies can add their APIs to Zapier. Part of that project involved converting the existing views – standard Django forms – into Backbone.js views powered by a yet-to-be-written API. It was a fun project...


How to Set Up TravisCI-like Continuous Integration with Docker and Jenkins

James Carr / Published April 21, 2014

Docker, Jenkins and Github

Lately, I've been working on a number of improvements to our continuous integration setup here at Zapier. It's a delicious combination of Jenkins, Docker and the Github Commit API that anyone can accomplish with a little work!

The Vision

Before delving into our continuous integration (CI) setup, it's important...


Profiling Python Like a Boss

Bryan Helmig / Published December 2, 2013

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. ~Donald Knuth

It is unwise to embark on an optimization quest without first considering the famous quote by Knuth. However, sometimes that quick and hacky O(N^2) code you wrote (and...


Debugging Python Like a Boss

Brian Cooksey / Published November 19, 2013
def make_pie(self, ingredients):
    print '******WHAT IS GOING ON HERE******'
    print ingredients
    self.oven.preheat()
    print self.oven.temperature

Is the above code snippet similar to your tried-and-true debugging techniques? Yea, that used to be me too. Honestly, it's not so bad....