How Airbnb Scaled Its Postcard Generation System for Group Travel
Airbnb's media team engineered a scalable postcard generation pipeline that matches destinations, handles localized text layout, and delivers high‑performance images across iOS, Android, Web, and external messaging platforms using flexible templates, async processing, and pre‑generation strategies.
Introduction
For the 2024 summer release, Airbnb’s media team tackled the challenge of creating a reliable postcard generation system that could produce unique, handcrafted‑style postcards to invite guests to group trips while maintaining high design standards across all client platforms.
Challenges
Localized text layout: Strict design guidelines required precise character counts, line spacing, kerning, and language‑specific rules.
Design and product flexibility: Text positioning, colors, fonts, and image transformations needed to adapt to rapid design changes.
Destination matching: Postcards had to pair with the booked destination, including relevant artwork and localized names.
In‑app and out‑of‑app availability: A server‑side pre‑generation solution was required to render postcards correctly in iMessage, Instagram, and other platforms.
Performance: Rendering could not introduce noticeable latency for users.
Solution Overview
The system composes a postcard from three components: artwork, a postcard template (a data entity containing artwork reference and rendering metadata), and a localized destination string. Templates are version‑controlled to allow design updates without breaking existing postcards.
Template Flexibility
A flexible data model lets designers configure parameters such as text position, color, and shadow. Versioning enables quick rollout of design revisions or fixes.
Template and Artwork Management Tool
An internal web tool gives the creative team self‑service capabilities to create, preview, and upload templates and artwork, streamlining iteration during high‑velocity design cycles.
Localized Text Layout
Accurate translations and proper formatting are required for each destination. The team built a short, manually curated list of frequently booked destinations, formatted according to language‑specific rules, and integrated it into the i18n pipeline. For other languages, a simple word‑count and line‑break formula is applied.
Destination Matching Algorithm
When a booking is made, the system selects a postcard template using four criteria:
By property – special artwork for flagship listings.
By destination – curated art for popular cities (e.g., Cycladic domes for Santorini).
By category – tags such as density, climate, and geography derived from internal knowledge‑graph data.
By default – fallback artwork when no other match applies.
Asynchronous Generation Pipeline
High‑resolution image processing takes >8 seconds, and moving assets to media storage adds another 1–2 seconds. To keep the API responsive, the service returns a cached postcard if available; otherwise it returns a placeholder and publishes an event to a Kafka queue. An asynchronous consumer processes the request, generates the postcard, and stores it for future calls.
Pre‑Generation Strategy
Data‑science analysts identified the most‑booked destinations. The pipeline pre‑generates postcards for these locations ahead of the product launch, reducing fallback rates. Within a week of launch, over 90 % of group trips received customized postcards.
Conclusion
Building the postcard feature required coordinated effort across engineering, product, design, and data‑science teams. The solution demonstrates the importance of internal tooling, robust image and text processing, and destination‑matching logic for scaling a high‑visibility consumer feature.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Airbnb Technology Team
Official account of the Airbnb Technology Team, sharing Airbnb's tech innovations and real-world implementations, building a world where home is everywhere through technology.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
