What Programming Language Does Airbnb Use?

Airbnb's main web application was built in Ruby on Rails, and the company now runs that Rails code alongside a large set of backend services written in Java and Kotlin. The browser front end is React with TypeScript. The iOS app is Swift, the Android app is Kotlin, and the data platform runs on Airflow, a workflow scheduler Airbnb created and later gave to the Apache Software Foundation.

So there is no single Airbnb language. There is one language per layer, and the layers are public because Airbnb's engineering team writes about them and open-sources a lot of its tooling.

Airbnb's languages by layer

LayerLanguageFramework or toolStatus
Original web applicationRubyRuby on Rails (the monolith Airbnb calls Monorail)Still running, shrinking
Backend servicesJava, KotlinService-oriented architecture with generated clientsMain direction for new work
Web front endJavaScript, TypeScriptReact, with Airbnb's own design systemCurrent
iOS appSwiftNative, with Airbnb's Epoxy and Lottie librariesCurrent
Android appKotlinNative, with Epoxy and MvRxCurrent
Data pipelinesPython, Scala, SQLAirflow, Spark, SupersetCurrent
Data storesSQLMySQL, Redis, Elasticsearch, KafkaCurrent

Airbnb runs its infrastructure on AWS. That detail matters for interviews because the system design questions Airbnb asks assume cloud building blocks such as object storage and managed queues.

Ruby on Rails: the monolith and the move to services

Airbnb started as one Rails application. Engineers named it Monorail. For years every feature, from search to payments, lived in that one codebase, and Airbnb has said publicly that deployments and ownership became hard to manage as the team grew.

The response was a service-oriented architecture. Airbnb split the monolith into services with defined interfaces, most of them written in Java. Later services adopted Kotlin, which runs on the same Java virtual machine and needs less code for the same logic. The Rails application still exists, but new backend work goes into services.

This history is a good system design example. If an interviewer asks why a company would leave a monolith, the Airbnb story gives you a concrete answer: deploy speed, clear ownership, and the ability to scale one part of the system without the rest.

JavaScript, TypeScript, and React

Airbnb's web client is built in React. The team migrated its JavaScript to TypeScript and open-sourced ts-migrate, the tool it wrote to convert large codebases automatically.

Airbnb is also known for its JavaScript style guide, one of the most used ESLint configurations in the industry. It prescribes camelCase for variables, functions, and object properties, and PascalCase for classes and React components. The guide also asks that comments explain why a piece of code exists rather than restate what it does.

The design system, which Airbnb calls its Design Language System, is a shared React component library used by every product team. This is why Airbnb's screens look consistent across the web and the apps.

Python, Scala, and Airflow for data

Airbnb's data team works mostly in Python, Scala, and SQL. Spark handles large batch jobs, Kafka moves events between systems, and Elasticsearch indexes listings for search.

Airflow is the best known result of this work. Airbnb built it to schedule and monitor its data pipelines, released it as open source, and it is now Apache Airflow, used by thousands of companies. Apache Superset, a data exploration and dashboard tool, also began at Airbnb.

Python is also the main language for Airbnb's machine learning work, such as search ranking and pricing suggestions for hosts.

Swift and Kotlin on mobile

Airbnb tried React Native for its apps and then returned to fully native development. The team published a detailed series explaining the decision, and the short version is that maintaining three platforms at once cost more than it saved.

The iOS app is written in Swift and the Android app in Kotlin. Airbnb open-sourced several mobile libraries along the way, including Lottie for animations, Epoxy for building complex screens, and MvRx for Android architecture.

"Languages" in the other sense: 62 locales

Some readers who search this topic want the list of languages the Airbnb product supports, not the programming languages. Airbnb's site and apps are available in 62 languages, and listing descriptions are machine-translated by Airbnb's own translation engine when a guest reads them in a different language from the host. Those locale codes are product settings, not part of the engineering stack.

What this means for an Airbnb interview

Airbnb's coding interviews are language-agnostic. You can solve problems in Python, Java, JavaScript, or any common language. The interviewers care about correctness, testing, and how you explain your work, and Airbnb is known for asking candidates to run their code.

Knowing the stack helps most in the system design round, where questions often mirror Airbnb's real systems: search over listings, a booking flow with payments, or a pricing service. For what to expect, read the top system design interview questions for Airbnb and what an Airbnb interview is like.

How to Prepare

TAGS
System Design Interview
Coding Interview
CONTRIBUTOR
Arslan Ahmad
Arslan Ahmad
ex-FAANG engineering manager and author or Grokking series.

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Explore Answers
What is an example of a success story for an interview?
Which study is required for software engineering?
What is asked in system design interview?
What is the Stripe layoff package?
What are threads in OS?
What is DevOps' best answer?
Related Courses
New
Grokking the AI System Design Interview course cover
Grokking the AI System Design Interview
Learn to design AI systems the way interviewers expect: classic ML products, LLM and RAG architectures, and agentic systems, all through the lens of the system design interview.
4.6
(3,192 learners)
Discounted price for Your Region

$99

Grokking the Coding Interview: Patterns for Coding Questions course cover
Grokking the Coding Interview: Patterns for Coding Questions
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
4.6
Discounted price for Your Region

$197

Grokking Modern AI Fundamentals course cover
Grokking Modern AI Fundamentals
Master the fundamentals of AI today to lead the tech revolution of tomorrow.
4.1
Discounted price for Your Region

$72

Design Gurus logo
One-Stop Portal For Tech Interviews.
Copyright © 2026 Design Gurus, LLC. All rights reserved.