Skip to content
stefan matić

Plate 01 · Travel · 2022 to 2026

Hostelworld: rebuilding the engine while the plane flies

A booking platform used around the world was running on ageing code. I helped move it onto six modern codebases while guests kept booking, then built what came next: sign-in at the gateway, AI features and a paid subscription.

Client
Hostelworld
Role
Backend engineer, leading the service modernisation
Period
2022 to 2026
Hostelworld: how it worksSystem diagram with 6 numbered parts, explained in the list below.LEGACYExpress · MariaDB16+ NX MONOREPOSNestJS2GATEWAYApigee · auth3LINKUPS APPVue · Playwright4DATAMongo · Firestore · Redis5SOCIAL PASSGoogle Play6
Plate 01 · HostelworldBefore → after
  • 0regressions while migrating against live production traffic
  • 6+Nx monorepos in place of scattered legacy services
  • Fullunit and component test coverage on every backend service

The problem

Hostelworld is a global hostel-booking platform that runs 24/7 for travellers in every time zone. Its server side had grown into a set of separate legacy services built on Express and MariaDB. Each change got harder to make safely, and the platform could never be taken offline to fix that.

Once the foundations were modern, the product needed to move faster: sign-in handled in one place, AI-powered features, and a paid subscription that works with Google Play.

What I did

  • Migrated legacy services into 6+ Nx monorepos built on NestJS: Linkups, Sendbird chat, traveller profile, recommendations, bookings and more. The migration took the first months; every service moved with live traffic and zero regressions.
  • Moved authentication into the API gateway. Apigee now verifies every request before it reaches a service, so the services stopped handling tokens themselves.
  • Built the Social Pass subscription, including Google Play purchase confirmation and acknowledgement, so every subscription is verified and none is left unacknowledged.
  • Implemented AI-powered features on top of the new services.
  • Covered every backend service with tests: Jest unit tests plus a custom Gherkin/Cucumber component-test library built for the team.
  • Built the Vue.js app hostels use to manage Linkups, with Playwright component tests and Vitest unit tests.
  • Kept delivery fast and safe: MongoDB and Firestore with Redis caching on the busiest paths, Docker on Google Cloud, CI/CD pipelines and routine performance testing.

How it works

  1. Legacy (Express · MariaDB). The starting point: separate services, each with its own habits.

  2. 6+ Nx monorepos (NestJS). Linkups, Sendbird chat, traveller profile, recommendations, bookings and more, each with shared conventions and full test coverage.

  3. Gateway (Apigee · auth). One front door that verifies every request, so services no longer handle tokens.

  4. Linkups app (Vue · Playwright). The tool hostels use to manage Linkups, covered by component and unit tests.

  5. Data (Mongo · Firestore · Redis). Document stores with caching on the busiest paths.

  6. Social Pass (Google Play). A paid subscription with verified and acknowledged Google Play purchases.

Stack

NestJSNxTypeScriptExpressMongoDBFirestoreRedisTypeORMApigeeGoogle CloudDockerGoogle Play BillingSendbirdJestCucumber (Gherkin)Vue.jsPlaywrightVitest
Have a project?

Let's build the whole thing properly.

An MVP, a rebuild, or a system that has to survive launch day. Tell me what you're building in a 30-minute call.

Book a 30-min callmaticstefan1996@gmail.com
Need an engineer on your team?

Senior full-stack, remote, CET.

Available as a long-term contractor on a monthly rate, embedded in your team, or full-time. Seven years across React, Node and the cloud, plus CTO experience.