Skip to content
All projects

Enterprise platform

Bernalo Management System

The central system for a 26-hotel chain: bookings, tours, food, loyalty, agencies and commissions in one place.

Role
Product lead, design and engineering
Year
2026
Status
In production
Stack
Next.jsSupabaseTypeScriptshadcn/uiVercelWompiLobbyPMSArrieroGeminin8n
connected hotels
26
core modules
11
key integrations
4
automated test files
43

Bernalo Management System

One central system, 26 connected properties.

Hotels

Inventory and rates for every property.

BMS

The problem

Information for 26 properties lived across spreadsheets, disconnected tools and chat threads. Each team had its own version of the data and nobody saw the full picture.

What I built

An in-house system, built from scratch, that centralizes commercial operations for every hotel. Each module solves one concrete workflow and shares the same database and permissions.

  • Long stays and hotels
  • Tours and booking engine
  • Food & beverage
  • Loyalty program
  • B2B agency portal
  • Commissions
  • Mailing
  • Competitor tracking
  • AI assistant
  • Integrations

Agency portal

Travel agencies have their own portal, separate from the internal team. Each agency signs up, logs in with its account and works on its own, without needing a rep for every booking.

  • Self-service sign-up and login
  • Availability lookup
  • Managing their bookings
  • Settlements
  • Sales points
  • Account settings

Integrations

The system talks to Arriero for tours, LobbyPMS for multi-hotel operations, Wompi for payments and Google for spreadsheets, files and calendars. A versioned internal API exposes that data to other tools through read-only keys.

Key decisions

Supabase with row-level security so each person only sees what they should, without duplicating permission logic in the frontend. Deployed on Vercel to iterate fast with a small team.

I moved the assistant from OpenAI to Gemini when the cost didn't justify itself: AI goes where it saves work, not by default.

Outcome

In production and used daily across the chain. What used to be scattered now lives in one place, with sales, collections and occupancy per hotel available to whoever needs them.

Next projectBernalo Hub