Groupon - behind the scenes by Bernardino Frola

29
Behind the scenes Bernardino Frola 19 December 2016 JavaScript & NodeJS community Salerno

Transcript of Groupon - behind the scenes by Bernardino Frola

2008

2010

2010

Node.js appHomepage

Node.js appDeal page

Node.js appCheckout page

Routing layer

2010

2013

2015

Product lifecycle

PRD

Product management Graphical Design

PRD

Product management

Design

Development

A/B experimentTreatment 1

A/B experimentTreatment 2

Winning treatmentRolled out Mid-2016

New deal page re-design, natively includes new UMS featuresEnd of 2016

Deal page design to match mobile design

Under the hoodUrgency messaging

UMS API

Inventory service

Deal Page

Real-time events service

Configuration client

Localization service

Groupon API

Cache

A/B experiments client

UMS API Deal Page

Real-time events service

Groupon API

Cache

Datastore

Clickstream

Kafka

Storm

UMS API Deal PageReal-time events service

Groupon API

Cache

{ timeBucket: 2016-05-01-16H, timeGranularity: HOURLY event: VIEW, count: 1},...{ timeBucket: 2016-05-02-14H, timeGranularity: HOURLY event: PURCHASE, count: 4},{ timeBucket: 2016-05-02-15H, timeGranularity: HOURLY event: VIEW, count: 3}

{ urgencyMessages: { dailyViews: 11 viewed today, static: Limited Time Remaining! }}

Process

Build messages

Thanks!

● Keep in contact:○ Add me (Bernardino Frola) on LinkedIn

● Sources:○ Groupon infrastructure history: I-Tier: Dismantling the Monolith○ A/B testing: Stats 101: An Intuitive Guide to A/B Testing by Michael Sussman○ Screenshots: Groupon.com