Open Source Projects

At Tapjoy, our scale presents a ton of interesting and hard engineering problems.  While we believe in applying the right technology to solve the problem, sometimes that technology doesn't exist yet or isn't suitable for our cost / performance needs.

We're big users of open-source software and are excited to share with the community some of the technologies we've built at Tapjoy to tackle these engineering problems.  These projects are all used in production and are under continual development.

chore

Tapjoy’s job processing system, intended to work with Amazon’s SQS and provide the performance, stability and flexibility to use in places where you traditionally would reach for Resque / Sidekiq.

Chore is designed to be queue agnostic and provide configurable processing models.

View on GitHub

 

SLUGFORGE

Slugforge is the Tapjoy packaged deployment tool.  It’s used to produce, store, catalog, and install static deployable artifacts from a source code repository.  Since it deploys static packages, going back in time is just as reliably as rolling out new code.

Today, Slugforge is used to deploy to all of Tapjoy's environments, from single servers to 400+ nodes.

View on GitHub

 

DYNAMIQ

Dynamiq is an implementation of an at-least-once queue written in golang and run in a cluster on top of Riak 2.0.  It exposes a simple REST API for publishing to topics and directly enqueueing to queues, as well as receiving batches of messages at a time.  It’s designed to be a replacement for Amazon's SQS and SNS.

View on GitHub

 

LDAP Tools

LDAP Tools consists of a set of utilities to simplify the management of LDAP resources within your operations team.  LDAP is the system Tapjoy uses for authorizing access to servers for engineers within the organization.

View on GitHub

teamout

"Always-on" video conferencing for remote teams built on top of Google Hangouts. It allows users to instantly see and hear each other without the need to call and for multiple simultaneous conversations in the same Google Hangout.

Teamout is used to help improve cross-office communication at Tapjoy.

View on GitHub

 

FAKERIAK

FakeRiak is an in-memory Ruby driver implementation of the Riak API designed to be used in test environments to remove the external dependency of a running Riak server.  This library makes it easier to achieve isolation, confidence, and high performance from your tests without the maintenance of stubs.

View on GitHub

 

 

PAGERDUTY Utils

PagerDuty Utils consists of a set of tools to integrate PagerDuty into your internal developer-facing applications.

View on GitHub