Read The First Prettier Plugin For Twig is Here

The First Prettier Plugin For Twig is Here

trivago open sourced a Prettier plugin for the Twig template language. It is available under the Apache 2.0 license, and you can access it on trivago's Github space.

The trivago core product runs on our own frontend framework Melody. Melody uses a Twig-inspired template language because when it was introduced, it had to be interoperable with our existing codebase, which was based on the Symfony PHP framework with Twig as the default template language.

Read Why We Chose Go

Why We Chose Go

To the outside, trivago appears to be one single software product providing our popular hotel meta search. Behind the scenes, however, it is home to dozens of projects and tools to support it. Teams are encouraged to choose the programming languages and frameworks that will get the job done best. Only few restrictions are placed on the teams in these decisions, primarily long-term maintainability. As a result, trivago has a largely polyglot code base that fosters creativity and diverse thinking. It allows us to make informed decisions based on actual requirements rather than legacy code or antiquated projects.

Read An Open Door to Open Source: Relive our OSS Conference

An Open Door to Open Source: Relive our OSS Conference

At the end of last year, to celebrate our continued sponsorship of the Open Source community, we hosted a small conference with special guests at our Düsseldorf campus. We initially hoped to welcome Tobias Koppers and Sean Larkin from Webpack, plus some internal speakers. What we didn't expect was the huge amount of fantastic speakers who wanted to present their projects to the community. In the end, Sean unfortunately couldn't make it but we did have a chance to welcome Marvin Hagemeister, Juan Picado, Norbert de Langen and Pia Mancini as speakers, plus our own amazing talents.

Read Better URL Search with Elasticsearch

Better URL Search with Elasticsearch

At trivago, we generate a huge amount of logs and we have our own custom setup for shipping logs using mostly Protocol Buffers. Eventually we end up with some fields in Elasticsearch (ES) that contain partial (or full) URLs. For instance, in our specific case we store the query component of the URL in a field called query and the path component in a field named url_path. Sample values for these fields could be:

Read Meet us at A New Dawn, IxDA20 in Milan, Italy

Meet us at A New Dawn, IxDA20 in Milan, Italy

At trivago we live diversity. We have 55 localised platforms and internally you can find talents from around 90 different nationalities all working towards providing a better experience to our customers. We are constantly evolving as we face organisational, societal and industrial challenges. That's why we identify a lot with this year's theme "A New Dawn", as we too explore the meaning and evolution of our approaches and practices. This year we have decided to support IxDA20 through sponsorship for the first time. It reflects our belief and increasing efforts to invest in Design and Research at trivago as we strive for an inclusive world.

Read Meet us at FOSDEM, Brussels, Belgium

Meet us at FOSDEM, Brussels, Belgium

We strongly believe in sharing knowledge not only internally, but also with the tech community around the world. This is one of the reasons why we support Open Source software through development and sponsorship. For example, we are the second biggest supporter on Open Collective and we have a ton of our own Open Source projects too. (Check out our Open Source page for more info.)

Read Getting Ready For The Big Data Apocalypse

Getting Ready For The Big Data Apocalypse

trivago Intelligence was born in 2013 with two main objectives: First, to provide bidding capability to the advertisers, who are listed on trivago, and second, to provide them with metrics related to their own hotels; like clicks, revenue, and bookings (typical BI data). This project faced a wave of inevitable data growth which lead to a refactoring process which produced a lot of learnings for the team. As I expect it to be useful for other teams who deal with similar challenges, this article will describe why a team started a full migration of technologies, how we did it and the result of it.

Read How to Analyze SurveyMonkey Data in Python

How to Analyze SurveyMonkey Data in Python

As a user researcher, it is important to know more about our users and their preferences concerning our product. One way to do that is by conducting surveys.

In order to gather user feedback from our global markets, we need to conduct a survey with a slightly different set of questions/translations for different countries, and then analyze the results and compare if there is any difference across countries concerning user needs.