
Strawberry Hotel - Time to check in ...all code
Strawberry is a true giant in the hotel industry. With over 200 hotels, a site capable of handling tens of thousands of bookings every day is required. Downtime means reduced bookings and revenue. Simultaneously, the entire old web platform was to be replaced with something new.
Switching the web platform built in EPiServer (now Optimizely CMS) and .NET to a new platform based on Contentful and microservices in the cloud requires both courage, patience, and the right expertise. How is such a switch implemented without negatively impacting the guest's experience? Is it possible to avoid the new platform having to be replaced again in 5-10 years?
A stepwise shift
Arkido has played a varied and central role during the course of the project. We have both supported the existing solution and contributed to designing and building the foundation for the new platform. The new architecture has been developed to balance performance, scalability, and user experience, and acts as a bridge between the user interface and the underlying systems.
The transition to the new platform has been implemented incrementally to minimize the risk of operational disruptions. By starting with simpler parts and gradually introducing more complex functions, we have ensured a smooth transition for both users and internal systems. The iterative launch strategy has also made it possible to quickly handle any adjustments as needed.
Build code that can be replaced
The plan was always to build a stable platform where parts could easily be replaced in the future. This need arose sooner than we expected when the client, then named Nordic Choice Hotels, decided to completely rebrand themselves with the new brand Strawberry. Thanks to the modular thinking that was in place, it was relatively easy to remove the entire view layer without affecting the web's logic and structure.
The web's islands
The new views were now built with preact, TypeScript, and emotion-css. In addition, an "islands" architecture was implemented, which involves components that only load JavaScript if needed. This can be seen as a golden mean between completely static pages and completely dynamic ones. A static site is well-suited for, for example, informational websites where the web server does all the work. This is not as well-suited for a site where the user interacts a lot, as it can be perceived as slow.
For some time, it has been popular to build so-called Single Page Apps (SPA) which can be seen more as an application than a site. The user downloads a larger amount of code that runs in the browser and calls the server when updated data is needed. For a site where the user interacts more with the system, these are often perceived as faster than static pages. The disadvantage, however, is that users need to download a lot of code that is never executed. This makes the application heavier, and every time a page loads, there is a risk that it will initially be slow.
Islands are small components that exist on a static page but contain functionality. A page can therefore contain many small apps instead of one large one. This means that the user does not load more functionality than what is actually needed, while the site is perceived as fast when the user interacts with it.
Trust built on understanding
Since day one, we at Arkido have strived to understand how a large hotel company operates. There are so many people and roles with different needs and wishes. All the way from communicators, salespeople, and pricing managers to hotel staff, there are people who ensure that the guest's stay will be an experience to remember. Web and other IT connect all these people.
For every new feature built, we must ask the question: "Who is affected by this, and how?". It should be easy for a communicator to create content that is presented to the guest. Prices, campaigns, discounts, and member points must be clear and correct so the guest can make a decision they are confident with. When the guest arrives at the hotel, the hotel staff must receive correct information about the guest and their booking. Vouchers must be distributed, the correct room must be assigned, and the pre-ordered champagne must be chilled and ready in the room. All this, and much more, quickly fails if development does not occur in consensus with the entire organization.
This understanding, combined with our technical expertise, has earned us long-standing trust with Strawberry.
Roles and technologies
- Tech lead, Backend Development, Frontend Development
- AWS, CI/CD, JavaScript/TypeScript, Node.js, koa.js, preact, EmotionCSS, pug.js, Tailwind
- C#, .NET, EPiServer, EPiCommerce, SQL Server

What are your challenges?
Contact us and we'll tell you more about how we've solved various challenges in the past and discuss how we can help you.
Martin Holmberg