HospitalityLive

ODM Groove Hotel

Hospitality Platform with AI Concierge

View Live Site
ODM Groove Hotel website homepage showing luxury hotel photography, room listings, and booking interface

Role

Frontend Engineer

Category

Hospitality

Status

Live

Outcome

Hospitality platform with AI concierge that drove real reservations

Tech Stack

Next.jsTypeScriptTailwind CSSFramer MotionWhatsApp API

Overview

A complete digital presence for ODM Groove Hotel — a boutique hotel brand. The platform covers everything: room discovery, AI-powered concierge, direct WhatsApp booking integration, and a content management layer for hotel staff. Built to drive reservations, not just look good.

The Problem

The hotel was losing bookings to third-party platforms (Booking.com, Airbnb) and paying significant commission on every reservation. They needed a direct booking channel that felt as trustworthy as the big platforms but was entirely theirs. The AI concierge was the differentiator — giving guests instant answers without requiring a human on standby.

Process

The WhatsApp integration was built first, because that's how most Lagos-area hotel bookings actually happen. Guests initiate a conversation via WhatsApp, and the booking flow is conversational. The AI concierge handles the top 80% of guest questions automatically — room types, pricing, availability, nearby attractions.

Technical Deep-Dive

The animation system uses Framer Motion's scroll-linked animations to create a cinematic browsing experience without sacrificing performance. Every animation respects prefers-reduced-motion. The room gallery uses a custom lightbox built on Framer's layout animations rather than a third-party library — reducing bundle size by ~45kB.

Code Sample

WhatsApp booking integration — converts intent to a pre-filled message

typescript
// lib/whatsapp.ts
export function buildBookingMessage(room: Room, dates: DateRange): string {
  const nights = differenceInDays(dates.checkout, dates.checkin);
  return encodeURIComponent(
    `Hi, I'd like to book the ${room.name} from ` +
    `${format(dates.checkin, 'MMM d')} to ${format(dates.checkout, 'MMM d, yyyy')} ` +
    `(${nights} night${nights !== 1 ? 's' : ''}). ` +
    `Total: ₦${(room.pricePerNight * nights).toLocaleString()}. ` +
    `Please confirm availability.`
  );
}

export function getWhatsAppUrl(phone: string, message: string): string {
  return `https://wa.me/${phone}?text=${message}`;
}

Results

The platform drove measurable direct bookings from the first month of launch. The AI concierge deflected the majority of routine guest enquiries, reducing staff response time. The hotel now has a direct booking channel independent of third-party platforms.