Thinking through architecture for Airbnb's JavaScript

Mr. Gig

Dec 6, 2018
Saw an interesting piece on Medium, about rearchitecthing airbnb's front end.

In the past they were using Rails and since search is the most used function on Airbnb's site, their engineers have "evolved, enhanced and optimized the way that Rails delivers the page."

But apparently it wasn't enough. They needed o change. It was moving into other areas besides home rentals, like their new "Experiences and Places" thing. Sounds like it was the big changes involved in bringing those new products to the market that motivated them to rethink everything. Well, at least everything related to the search experience.

Mainly they wanted to get away from the page by page way their old search had worked on. In other words, you'd enter your search and you'd get a new page. Then you'd refine the search and yet another page would load.

The funny thing is - and this made me laugh when I read it because we've all been through it. Their old frontend contained a bunch of really old code. They said when they started getting into their frontend re-make they started seeing code that no one knew why it was there! Sound familiar?

One of the coders replaced a small handlebars template backed by a rails presenter with a simple react component and suddenly things were breaking all over the place! Even in their API response! Haha! Old code man.

Anyway, the small and medium size sites I've worked on it's really mind boggling to think how unbelievably complex the Airbnb site must be.