ENGINEERING BLOG

A first dive into CSS animations

CSS is one of those things that everyone has a strong opinion about. For some reason, it seems like you are only allowed to love it or hate it. It’s quite well-known that it can be a struggle to(...)

Purchase History Search: Indexing with Elasticsearch

At Empathy.co, we have been making heavy use of search engines such as Solr and Elasticsearch for years. They are key types of software in the products we build for our platform and our clients. They enable fast and effective storage and retrieval of our clients' catalogue products,

From Zero to Beam

Moving from in-house streaming code to a flexible and portable solution with Apache Beam Long gone are the days when we used to consume data with Apache Spark Streaming, with an overly complicated, cloud-dependent infrastructure that was non-performant when load increased dramatically. Follow us on a journey of stack simplification,

On-Call Engineering Approach

At Empathy.co, On-Call was scheduled to allow for fast recovery in case of a disaster, errors, or loss of service. A bunch of folks from different teams are part of the On-Call rotation (with escalation policies), which guarantees that there is someone ready to catch any incidents that may

How to Create an X Adapter (and pair it with X Components)

When creating a search experience, Interface X offers you a handy library of standalone building blocks to make the development part swift and easy, the X Components. But there are many other useful tools you can find in the Interface X repository. The X Adapter is one of the most

Frequent Pattern Mining

TL; DR The field of Frequent Pattern Mining (FPM) encompasses a series of techniques for finding patterns within a dataset. This article will cover some of those techniques and how they can be used to extract behavioral patterns from anonymous interactions, in the context of an ecommerce site. Terms and

Progressive Delivery: Argo Rollouts Adoption

Introduction Progressive Delivery is emerging as a worthy successor to Continuous Delivery, by enabling developers to control how new features are launched to end users. Its wide popularity is owed to the demand for faster and more reliable software releases. The increasing emphasis on customer experience has begun to push