Engineering at IFTTT

Love at First Byte

Devin Foley - Jul 23, 2015

Everyone loves open source. The internet runs on open source. You are probably viewing this post on an open source browser, running on an operating system that’s at least partially open source. I’m using an open source text editor to write this post.

IFTTT Loves Open Source

The IFTTT stack is built almost entirely on open source software. The very first lines of code were written in Rails, but lately we’ve been using Mesos, Spark, Kafka, and Akka to put the internet to work for you. On mobile, we love using frameworks like Stetho on Android, and Masonry on iOS, helping us to avoid reinventing the wheel so we can focus on the pieces of technology that are unique to IFTTT.

We get so much out of open source, it’s only natural that we’d want to give back. We do this by contributing fixes to the projects that we use, and by sharing our own projects whenever possible.

Open Source @ IFTTT

At IFTTT, we believe in building our software as if it were open source. Great open source software is highly modular, flexible, testable, secure, well documented, and well written. We want the code that runs IFTTT to share these qualities, and so we try to design and write software with the expectation that, if we wanted to, we’d be able to open source it at any moment.

Perhaps the greatest benefit of writing software this way is that sometimes you end up creating great open source libraries. We’ve been picking up steam lately, and have released a few new projects that we’re really proud of:

RazzleDazzle is a simple AutoLayout-friendly keyframe animation framework for iOS, written in Swift. Perfect for scrolling app intros.

Sparkle Motion A ViewPager animator for Android, perfect for app intros.

Polo provides an easy way to work with real world data in development.

Kashmir is a Ruby DSL that makes serializing and caching objects a snap.

Jot is an iOS framework for easily adding drawings and text to images.

FasTTTcamera is a fast and easy camera framework for iOS with customizable filters.

It feels great to be able to share these with the community, and we’re just getting started. We’ve begun collecting these and more at Open Source @ IFTTT. We’d love to hear your feedback, to see how you put these to use, and we’re currently accepting pull requests. Together, we can make building software a little more fun.

Interested in using open source to connect all the things?
Come join us.