By Smartbnb team
Saying that engineering the new Smartbnb was intimidating would be an understatement. The original Smartbnb is loved by hosts all over the world, so threatening that stability is always a risk.
But, to improve the experience for our customers – as well as to ensure our ability to build the next generation of short-term rental management software – we had to bite the bullet and upgrade. All the things.
Consciously uncoupling the front-end from the back-end
Probably the biggest challenge we faced was to separate a tightly-coupled web “app” into clearly delineated, separate entities.
Ben Davies, our front-end lead, was set on a mission to complete this uncoupling. In Ben’s own words:
Ahead of the launch, Ben worked on tens of thousands of lines of front-end code, across ten different modules, and pushed 900 commits. Luckily for him, the pace is not likely to slow down — Ben loves a challenge.
Rapid application development with a focus on quality
As Ben likes to say, “No front-end is an island.” (Insert British Isles joke here.) He worked closely with the rest of the team to test designs and API end-points. Shoutout to Ekrem Elmas, our design lead, and David Thorpe, API wizard, respectively.
There was a lot to cover in a relatively short time, so there wasn’t time to wait for individual APIs to be ready. We heavily leveraged API mocking in the early stages to be able to demo functionality internally early in the process so that the full team could provide feedback and the iteration cycles get started.
From that point, it was full speed ahead. Feature by feature, the pieces started falling into place, from visual prototypes to something functional to fully fleshed-out products. Inbox, then Guest Experience, and finally Properties and Operations.
We invited a range of customers – from single property owners to large property managers – and worked closely with them to refine our designs and implementations around their use cases and scenarios. Their testing and feedback were an important driver of the project, keeping the team grounded on the importance of reliability, speed, and great user experience.
Meanwhile, the back-end team was busy rebuilding the infrastructure to be faster and more easily scaled. The key challenge for them was to make sure the existing functionality stayed exactly the same, and to add on top of it new features and improvements.
At the same time, they had to make sure the new Smartbnb works equally well for users who have one property to manage, as it does for those who have thousands.
Although there’s a lot of small successes to recount, here are a few select ones from our own Nikita Logachev, who led the back-end team:
Engineered fast, on-the-fly message template preparation. That means our messaging shortcodes and custom codes get replaced really, really quickly with fresh data from the Airbnb API. This is a big crucial for some of Smartbnb’s features like canned responses, rule simulation, and backend performance.
Added up-to-date pricing and availability data on the calendar, as well as the ability to set prices and availabilities directly from the calendar UI on Airbnb and HomeAway at the same time.
Enabled populating Airbnb listing data into HomeAway messages containing shortcodes that would otherwise be Airbnb-specific. This functionality can be easily replicated for new channels once we have them.
Maybe they’re born with it. Maybe it’s collaboration.
The one thing that all developers said was the key to their success was collaboration.
As a distributed team who works across five time-zones, development tasks took place nearly around the clock, with communication and documentation happening on a constant relay.
Jovana Gajic, from our back-end development team, summarised the project with: ‘Teamwork above all’
The dev team had to adjust to a new way of working, they had to re-learn how to work together effectively, how to pass lessons between teams, and how to manage joint-dependencies. And they will be the subject of upcoming posts!
About our Engineering team
Our engineering team is made up of Nikita Logachev, Jovana Gajic, Ben Davies, David Thorpe, Kieran Patel, Sam Jones, and of course, Founder and CEO Pierre-Camille Hamana.
It’s been a tough couple of months with the STR idustry heavily impacted by the pandemic.
Here’s our take on the situation: product development, team management, and next steps.
In the world of software, businesses can only make one fundamental mistake: you never, ever, ever rebuild the product and the code from scratch.