Group of people sitting at the table. Airbnb stays are often booked by groups of friends.

How to make an app like Airbnb

Bart Cywiński

Business Development Director

Have you ever wondered how to build a website like Airbnb? Well, technically it’s also an app (and we’ll get to that!) but it’s easier than you think.

Let’s take a look at the business, why it’s service is so successful and how many apps similar to Airbnb would cost to make!

What is Airbnb?

Airbnb specializes in short-stay accommodation. Specifically, it enables property owners to rent out their apartments to guests from around the globe. The app is used by both the ‘hosts’, the owners of the properties that chose to rent them out, and ‘guests’ that book the accommodation through the service. 

 

The important thing to note about Airbnb, however, is that it’s widely considered as a game-changer. Just as Uber changed the taxi and rideshare market, Airbnb’s simplicity and innovative business model enabled it to take on long-standing giants in the accommodation sector, such as booking.com, Trivago, and Hostelworld. 

 

Its original value lay in providing a unique business proposition: property owners could rent out their homes while they were away, while guests could get a home-stay experience at a competitively cheap price. 

Today, the company has over 100 million users, 2.9 million hosts, and 6 million property listings. With a company value of $35 billion, Airbnb certainly did something right!

How does it work?

Airbnb is a classic example of multi-tenancy architecture; a model where in the same solution services different clients. In this case, we have hosts and guests. 

 

Let’s take a look at each more clearly, as this is a great example of how an app like Airbnb works with different users in mind.

For hosts

  • Hosts want to generate value from their homes, so they use apps similar to Airbnb to list their property, manage their listings (including rent) and create availability periods.

  • Hosts also want to accept or reject bookings, leave reviews on travelers and ensure payment. 

 

What’s important to note here is that many of the most common needs of hosts aren’t that different from Airbnb’s competitors. The audience has changed, with streamlined technology to suit, but the core service is still there.

 

The major difference here is trust. Hosts need to be sure they can trust guests. As such, social media integration and reviews help homeowners get a better understanding of who will be arriving before accepting or rejecting.

For Guests

  • Guests want to search available listings in their target destination and book directly in-app.

  • Guests also want to filter by various means, such as rent, location, and essential facilities, to ensure they find the perfect place to stay.

 

For guests, it’s also no surprise. Like most apps, we need to let them log in, create dedicated accounts and otherwise act independently. The main task here is supporting a searchable database and a secure payment system.

Planning a rental app like Airbnb

So, let’s say you’ve got a new take on the model and want to know how to build a website like Airbnb? We won’t explain every little detail here, as we could bore you to death over the gritty technical details, but here’s everything you need to know to get started.

Basic Features

  • Customer accounts (for both guests and hosts). Users need to be able to sign up, choosing either host or guest, as well as sign in and out as needed, for security. Airbnb chooses to use Facebook login or email verification.

  • Payments. Airbnb’s business model involves taking online payments on behalf of hosts, so secure and compliant payment approval is a must. The need for payment gateways here will more often than not involve third-party solutions.

  • Listings. Guests need to be able to search and filter listings, while hosts need to be able to create and edit listings - specifically only their own listings, of course! Don’t set permissions too wide.

  • Communication. Hosts and guests need to communicate in-app. A messaging feature is essential for the important ‘trust’ factor, as mentioned earlier.

Advanced Features

  • Photographers. Airbnb actually has a range of freelance photographers that are available for hosts to use. The company covers the costs, but the professional imagery helps keep the quality of the service higher than other apps similar to Airbnb - pushing the prominence of the service in the sector.

  • Geolocating. If your app is on mobile, many people might want to use it to find accommodation in their immediate area. Think about users who are stuck in an area or need to urgently find somewhere to stay - your app has the potential to help them!

  • Augmented Reality Now this one is certainly a long shot, as even Airbnb is only prototyping it. Yet with this increased usage of technology, it’s something to think about!

Technologies used to make apps similar to Airbnb

You’ll often hear about Airbnb as an app or a website but, at least as far as the frontend solution is concerned, this is a great place to start when designing a property rental app like Airbnb.

 

Let’s start from the ground-up. Unless you have your own server, you can build this app in the Cloud. Because the core of the service is about listings, the right database technology is vital: we recommend the likes of MySQL or PostgreSQL, for instance. If you’re building on a Cloud-native platform, something like MongoDB or AWS DynamoDB works well, too.

 

In terms of languages, we can break this down into key components:

 

  • Server-side: If you’re using a public Cloud, it makes sense to go with the most intuitive solution for that platform.

  • Backend: A good framework will help build the essential skeleton, such as PHP 7+.

  • Frontend: There are numerous options here, such as Angular. However, libraries are a great source for ready-built components. For example, some, such as React.js, can also help provide native-mobile support without having to rely on dedicated languages.

  • Programming: Since we want to be available on web and mobile, we need a mix of Javascript (an essential web language) and mobile languages. The latter can be fully native, such as Kotlin or Swift, or use cross-platform solutions such as Flutter, or React.js + React Native (which could be the most cost-effective).

 

As you can see, there are more than a few options to choose from. Why didn’t we choose just one? Because it depends on the particulars of your business model. 

 

Many start-ups have found that switching from native development to React Native’s cross-platform support is much better for their needs. Artsy, a leading artwork marketplace, originally developed its iOS application in Swift, but quickly switched to React Native for faster, rapid cross-platform development on both iOS and Android, opening their business to an entirely new audience along the way.

 

Skype also wants through a similar process in 2017 so, if your app has rapid expansion in mind, we should consider this option from the start!

Possible Challenges

Any app similar to Airbnb is likely going to face the same hurdles, such as:

 

  • Performance: not everyone who searches will book, so the former will need more resources. In the Cloud, this can be done with microservices or serverless support.

  • Priorities: that being said, booking is the lifeblood of the business model, and should have dedicated resources for smooth performance that doesn’t upset users.

  • Chat technicalities. How do you see your chat feature operating? If it’s simple messaging, similar to email, then API requests can be okay - but this is slow and outdated. If you want real-time chat functions, a dedicated queue service will keep performance high. There are services, such as Twilio, that can help easily implement this.

  • Geolocating. For apps similar to Airbnb, geolocating is an essential feature and vital for users stuck in an unfamiliar place. Building your own maps is difficult and time-consuming, so the Google Maps SDK is a more efficient workaround. However, this also means properly formatting the data and listings to ensure your own, user-generated data appears correctly.

  • Security. While third party gateways are a must-have, we also need to consider security in terms of permissions, authority, and access. All API needs secure authentications, with OAuth 2 being a great go-to solution.

What’s the total “Airbnb app” cost?

When it comes to building an app like Airbnb - or any app, for that matter - the cost will always be a crucial question. Here, let’s not focus on the PoC, as this can be put together using pre-made components quite quickly and, after all, Airbnb already exists, so we know it works!

 

So, let’s focus on the MVP - the core features you need to bring your idea to the market! Here’s what can influence the cost:

 

  • Platforms: we want to be on iOS, Android and the web, so we need at least a few languages and competencies. We can cut this down using cross-platform frameworks and libraries, such as React Native and React.js, mentioned earlier.

  • The Team / Skill-sets Needed. To build an app similar to Airbnb, we for sure need a UI designer, backend developer, frontend developer, QA engineer, and project manager. On top of that, we will also need both an iOS developer and Android developer (for native specialties such as Swift or Kotlin), or a React native developer with cross-platform competencies (which is more cost-effective), depending on the architecture and model chosen. If we’re in the Cloud, a Cloud Architect or developer will also help.

  • Running Costs. Even after the app is built, we need to consider the cost of the Cloud platform usage and even third-party support. For example, Google Maps API charges $0.50 per 1,000 requests after the first 25 each day (and if you exceed 100,000 requests with one API, you need additional licensing).

Development Time

Based on the bare essential nature of the MVP (the ‘must-have’ features), here’s what we estimate could look like in terms of time:

  • Prototyping, UI and UX design - from 250 hours

  • Web development - from 300 hours (less, if using React.js framework)

  • Mobile development - from 450 hours (less, if using React native framework)

  • Backend development - from 300 hours

  • Project Management and QA - from 400 hours. This is around 25% of development time, as the amount of testing is scalable to the amount of work produced.

Total: from 1,700 hours


Cost? Depends on the core feature list, from around $85 000 - if you choose the right people!

Please also note that this is the number of hours, not people. Hiring additional people may get the work done faster (although there is a limit to how many people should be on a project - too many cooks do, in fact, spoil the broth!) but it doesn’t make it cheaper.

Read the latest articles on our blog.

Easter egg ;)