Blogs
Airbnb logo

Airbnb

Engineering blog · medium.com/airbnb-engineering

15posts1this week0watchers

Feature trails

12
Feature trailActive

Database Traffic Capture and Replay

This post introduces a new system for capturing and replaying real production database workloads. This system addresses challenges in load testing, de-risking database upgrades and migrations, and performance debugging by providing a client-agnostic capture point using ProxySQL. It includes components for log moving, processing (parsing, grouping, timestamp-based bucketing, query rewriting for auto-increment consistency), and replaying traffic in 'replay only' (load testing) or 'replay and compare' (compatibility testing) modes. The replay system ensures accurate timing and concurrency by using a shared start signal for tasks.

1 post · 2026

Timeline

Feature trailActive

Proximity Features for Cold-Start Personalization

This post introduces Proximity Features, a new class of ML features that addresses the cold-start problem and evolving privacy constraints simultaneously. By grouping nearby users into buckets and aggregating their collective signals, rich, location-aware features can be constructed for any user whose IP can be geo-located, without relying on individual user identity. This enables personalization for logged-out, anonymous, or first-time users on marketing and acquisition surfaces, and can also benefit logged-in users. The system uses a proximity key based on geo-IP coordinates to group users into buckets of approximately 1,000, with an adaptive clustering algorithm that zooms in for dense areas and zooms out for sparse areas. Features include short-term engagement, long-term booking patterns, and aggregate bucket metadata. The system is designed with privacy in mind, excluding unconsented users and using coarse geo-IP aggregation. Proximity Features have launched across multiple Airbnb surfaces, showing measurable results in A/B experiments, including improved personalization for never-booked and dormant users on marketing landing pages and Homepage AutoSuggest.

1 post · 2026

Timeline

Feature trailActive

Guest Journey Sequence Modeling for Search Personalization

This post introduces Chronon's Near-real-time (NRT) Model Transform and Push Mode capabilities, enabling the guest journey sequence recommender to update embeddings in near real-time (under a minute) instead of daily batch runs. This significantly reduces data staleness, leading to improved search result relevance and a measurable increase in uncancelled bookings. These platform capabilities are open-sourced and designed to be general-purpose for other near-real-time modeling efforts.

2 posts · 2026

Timeline

Feature trailActive

Agent Harness for Scientific Data Exploration

This post introduces Insight Miner, an agent harness designed to encode scientific methodology into AI-driven infrastructure for unstructured data exploration. It enables scalable, reproducible, and auditable analysis of large text datasets, transforming artisanal investigation processes into a repeatable engineering discipline. The harness integrates core methods like extraction, embedding, and clustering with advanced techniques such as prompt tuning and hard-example mining, allowing data scientists to shift focus from execution to technique improvement. It has also seen adoption by non-technical teams, democratizing scaled analysis.

1 post · 2026

Timeline

Feature trailActive

Privacy-Preserving Data Anonymization

This post introduces project-lighthouse-anonymize, an open-sourced Python library for privacy-preserving data anonymization. It details the Core Mondrian algorithm for scalable partition-based anonymization, extending the classic Mondrian algorithm with an extensible architecture, parallel processing, and NaN-pattern pre-partitioning. It also presents a data quality framework with three primary metrics (Pearson correlation, RILM, NMIv1) and an empirical validation methodology to ensure anonymized data supports valid statistical conclusions. The library enables successive enforcement of k-anonymity and p-sensitive k-anonymity.

1 post · 2026

Timeline

Feature trailActive

ML Model Retraining and Lifecycle Management

This post introduces Insight Miner, an agent harness designed to encode scientific methodology into AI-driven infrastructure for unstructured data exploration. It enables scalable, reproducible, and auditable analysis of large text datasets, transforming artisanal investigation processes into a repeatable engineering discipline. The harness integrates core methods like extraction, embedding, and clustering with advanced techniques such as prompt tuning and hard-example mining, allowing data scientists to leverage AI for complex analytical tasks. The post also details the evolution of Airbnb's ML model retraining and lifecycle management framework, moving beyond simple 'retrain' actions to a decision-making process based on data drift and model misspecification. It extends this by detailing how sequential geographic recovery signals and prior propagation were used to generate reliable corridor-level forecasts when local data was scarce, leveraging Bayesian principles and the unique data structure of Airbnb's global operations.

2 posts · 2026

Timeline

Feature trailActive

Flexible Authentication System

This post details the evolution of Airbnb's authentication flows to a server-driven 'Identify first then Challenge' model. Key architectural decisions include a server-driven 'Challenge Picker' for fallback options and a fully server-driven screen abstraction. This has enabled faster experimentation, reduced client code, and improved user success rates, reduced duplicate accounts, and cut OTP costs.

1 post · 2026

Timeline

Feature trailActive

LLM Evaluation Infrastructure

This post details the evolution of Airbnb's LLM evaluation infrastructure to enable rapid iteration. It introduces a four-layer approach: diagnostic framing of evaluation noise (dual indeterminacy), a deterministic evaluation foundation via per-sample caching of references and judge scores, bounded and scoped model mutation using micro-adapters (low-rank LoRA patches) with lifecycle rules (fuse co-triggering, retrain on accumulation, unload unused), and end-to-end validation at the seams. This system allows for same-day turnaround on LLM improvements, moving from weeks to a day.

2 posts · 2026

Timeline

Feature trailActive

Data Architecture for Multi-Product Expansion

This post details the evolution of Airbnb's offline data architecture to support expansion into new product lines (Homes, Experiences, Services). It introduces a framework combining centralized principles with decentralized modeling guidelines to balance consistency and flexibility. Key decisions involved choosing between separate vs. monolithic data models based on product-specific attributes and cross-cutting concepts. Foundational principles include no hybrid models, consistent identifier naming, and clear namespace organization. The framework guides teams to choose separate models for product-specific logic and monolithic models for cross-cutting concepts, ensuring a consistent, scalable, and understandable data foundation.

1 post · 2026

Timeline

Feature trailActive

Dynamic Configuration Delivery Sidecar

This post details the evolution of Airbnb's dynamic configuration system, Sitar, focusing on the sitar-agent, a Kubernetes sidecar responsible for reliably delivering dynamic configuration updates to thousands of Airbnb service instances at scale. Key architectural decisions include a snapshot-based S3 preload for faster restarts and resilience, a pull model with server-side optimizations to reduce load, and the selection of RocksDB as a local datastore replacement for Sparkey to improve performance and multi-language support. The agent runs as an isolated sidecar container to maintain reliability and operational safety across Airbnb's multi-language service fleet.

1 post · 2026

Timeline

Feature trailActive

Unified Knowledge Graph Infrastructure

This post details the migration of Airbnb's identity graph to a new, internally managed, paved-path knowledge graph infrastructure. This platform, built on JanusGraph with DynamoDB and OpenSearch, aims to provide a scalable, reliable, and performant solution for large-scale graph workloads, addressing challenges like scalability, query complexity, long-tail latency, and system stability. Key optimizations include custom transaction strategies, parallel query execution, and enhanced observability. The migration from a third-party SaaS solution to this internal infrastructure has resulted in significant performance improvements, reduced long-tail latency, enhanced system stability, and increased write scalability.

1 post · 2026

Timeline

Feature trailActive

GraphQL Data Mesh and Federation

Viaduct has evolved from an internal tool to a community-driven, production-ready data mesh. The 1.0 release introduces a stable public API, new features, and enhancements, solidifying Viaduct's role as a GraphQL-based system providing a unified interface for data access. It addresses the challenge of decentralized development of a central schema by distributing development through modules within a shared multi-tenant runtime, contrasting with GraphQL Federation's server-distribution approach. Viaduct can participate as a subgraph within a federated architecture, allowing organizations to run fewer Viaduct instances hosting many modules, which can then be composed into a larger enterprise graph.

1 post · 2026

Timeline