Loading
Hospitality

Villas Rio Mar

Recovered from a WordPress compromise, then replatformed onto a Next.js 16/React 19 monorepo across 4 languages with a live PMS booking integration preserved through cutover.

Recovery & MigrationPlatform ReplatformMultilingual (4 languages)

Hospitality / Dominical, Costa Rica

Challenge

Villas Rio Mar's WordPress site was compromised. Beyond the immediate security exposure, the hack surfaced a deeper problem: the site was carrying three related brands — a hotel, a restaurant, and a pickleball club — on a platform that had outgrown what WordPress could manage cleanly, with a live PMS booking system that couldn't afford downtime.

Approach

We triaged the compromise first — stabilize, don't rebuild reflexively. Once the site was secure, the platform question became unavoidable: patch a WordPress install that was already showing its limits, or use the recovery as the opening to replatform properly. We chose to replatform: a single Next.js 16 / React 19 monorepo serving all three brands, shipped in 4 languages, with the live PMS booking integration migrated and verified before cutover — not rebuilt from scratch and hoped into place.

Deliverables

  • Next.js 16 / React 19 monorepo architecture serving 3 related brands from one codebase
  • Full 4-language rollout (content, routing, and SEO metadata per locale)
  • Live PMS booking integration migrated with zero booking data loss
  • Security hardening carried over from the original recovery triage
  • Post-cutover monitoring window to verify booking flow and search visibility

Results

  • Zero missed bookings during the cutover window
  • 4 languages shipped across 3 brands in a single monorepo
  • Live PMS booking preserved through the entire migration, verified before and after cutover
  • The business kept growing after: the restaurant runs at capacity every night, and the hotel has continued expanding — a new gym and pickleball courts since launch. Elevation Digital was part of that initial growth, stabilizing the web presence underneath it.
Request a build plan

Ready to move fast?

We can outline scope in 24 to 48 hours, map the sprint plan, and confirm a launch window before we build.