Query2vec: Search query expansion with query embeddings

Discovery and understanding of a product catalog is an important part of any e-commerce business. The traditional — and difficult — method… | Continue reading


@bytes.grubhub.com | 4 years ago

Using Functional Programming in Java with a Producer-Consumer

In complex networked applications like ones at Grubhub, one must program the application to do many operations at once. One of the… | Continue reading


@bytes.grubhub.com | 4 years ago

SOA: Traffic Routing and Control – Grubhub Bytes

SOA Traffic control capabilities that should be considered status quo for a mature service platform. | Continue reading


@bytes.grubhub.com | 4 years ago

Optimizing for the Mobile Web: Moving from Angular to Preact

Browser JavaScript-land was not a place I thought I’d be fighting a battle of speed. Years ago, computers and internet speeds were getting… | Continue reading


@bytes.grubhub.com | 4 years ago

Guaranteeing critical microservice actions at Grubhub

At Grubhub, we want you to get your food. We don’t care if a powerline falls on an AWS datacenter, a construction worker accidentally… | Continue reading


@bytes.grubhub.com | 4 years ago

Why Grubhub uses crypto when generating coupon codes at scale

There’s usually no need to get fancy when implementing discount codes, but Grubhub’s scale has pushed us to go beyond random strings. | Continue reading


@bytes.grubhub.com | 5 years ago

Using redux-loop to make tacos at Grubhub

At Grubhub, catering to restaurants is as important to us as catering to diners. Restaurants have to be able to set their menus, choose… | Continue reading


@bytes.grubhub.com | 5 years ago

Disabling Safari AutoFill for a single line address input

Filling out a form on mobile is tedious — as the user jumps from input to input, the previous information entered becomes out of view and… | Continue reading


@bytes.grubhub.com | 5 years ago

Lombok makes Java cool again

Here at Grubhub, we use Java for most of our backend programming. Java is a battle-tested language that has proven its speed and… | Continue reading


@bytes.grubhub.com | 5 years ago

How we build services fast: A look at the Grubhub service framework

When developing around a service-oriented architecture, the engineers at Grubhub had to roll a lot of code for all the technology… | Continue reading


@bytes.grubhub.com | 5 years ago

How to stay productive as a remote employee

We at Grubhub want the best people regardless of where they live, which is why we’ve been very supportive of people who work remotely. But… | Continue reading


@bytes.grubhub.com | 5 years ago

Data migration strategies for making a “Seamless” transition

In the past year, we’ve migrated thousands of diners from Eat24, Foodler, and OrderUp onto our platforms. | Continue reading


@bytes.grubhub.com | 5 years ago

Scaling ETL: How data pipelines evolve as your business grows

Data drives so much of what we do here at Grubhub. Every order, every dish you search for, every favorited restaurant tell us something… | Continue reading


@bytes.grubhub.com | 5 years ago

Decisions are first class citizens (an intro to decision engineering)

with Carolyn Mooney. | Continue reading


@bytes.grubhub.com | 5 years ago

How to manage changing requirements for a high availability service

You designed a great service that is reliable, efficient, and easy to maintain. You may even think that it is easily extensible. But when… | Continue reading


@bytes.grubhub.com | 5 years ago

How Grubhub automated the conversion of their web app from AngularJS to Angular

When AngularJS upgraded to version two, it changed almost everything. It even dropped the JS part of its name, moving away from JavaScript… | Continue reading


@bytes.grubhub.com | 5 years ago

Zero Downtime Cloud Infrastructure at Grubhub

Moving to cloud infrastructure at Grubhub enabled a major technical evolution for our high growth, ever-changing e-commerce juggernaut. | Continue reading


@bytes.grubhub.com | 5 years ago

Running premortem analysis – imagining failure to ensure success

All Agile projects can fall prey to failure. The most heartbreaking failures come from surprises — those pitfalls in your path you never… | Continue reading


@bytes.grubhub.com | 5 years ago

Managing dependencies and artifacts in PySpark

At Grubhub, we use different technologies to manage the substantial amounts of data generated by our system. One of them is Spark. Some of us also use PySpark, which is working well, but problems can… | Continue reading


@bytes.grubhub.com | 5 years ago