Processing Payments At Scale

at August 23rd, 2016

Groupon recently announced gross billings of $1,492,882,000 for Q2 2016 — that’s about $17M our systems charged every single day this quarter. There is a lot of complexity associated with processing such volume, which we’re going to explore in this blog post. Setup overview Before going into details, let’s first review how our payment system… Read More

Shopping Cart – let the bundling begin!

at March 13th, 2014

Groupon recently spent a year building a shopping cart feature for the website. This feature was first a/b tested on Groupon’s web platform to determine whether users would benefit from its functionality. After starting at 1% and scaling the a/b test to 100%, it was clear in the first month of full functionality that the… Read More

Testing JavaScript with Jasmine and RequireJS

at June 14th, 2012

Jasmine is a great JavaScript testing framework, but I grew tired of managing the Jasmine gem to work with my JavaScript code in a Rails application. In an application that does not use the asset pipeline, for each new file, you have to add it to your jasmine.yml manifest (either explicitly or using a wildcard… Read More

Looking forward to an interesting summer…

at May 22nd, 2012

One of the things I like most about Groupon Engineering is the ability to get things done quickly. Sometimes that’s code or architecture but sometimes that’s hiring promising new engineers. Two weeks ago I got a note from Sean McCullough linking to a kickstarter project for a new CoffeeScript compiler. We use CoffeeScript more and… Read More

The History of the Chicago Node.js User Group

at April 24th, 2012

The Chicago Node.js User Group has been thriving recently. So, I wanted to talk about this growing group and how it fits in with Groupon. Starting Out In early 2011, Caleb Cornman and I were investigating this interesting system called Node.js. Caleb launched the group in March, hosted at the Hashrocket office. We had… Read More