AI Guest Messaging Platform
Built OlivAI, a real-time AI guest-messaging platform combining a project-scoped inbox, AI and human handoff, booking and property context, conversation search, user management, and analytics inside one multi-tenant support dashboard.
- Client
- Aardvark Partners
- Role
- Full-stack
- Scope
- Inbox, real-time chat, AI handoff, analytics, properties, users, auth
- Year
- 2025
- Multi-tenant
- Project-scoped inboxes
- Real-time
- Live conversation updates
- AI + human
- Handoff workflow
- Hospitality
- Guest support at scale
Context
Hospitality teams needed a single live inbox for guest conversations where AI could handle or draft responses, agents could claim and escalate, and booking, property, and pre-check-in context sat right next to the message thread.
-
Real-time inbox
Live conversation updates and counts scoped per project
-
AI and human handoff
Claim, assign, review, interrupt, and close states
-
Booking-aware support
Customer, booking, property, and pre-check-in context
Problem
Guest messaging, booking data, property records, agent assignment, and reporting were scattered across separate tools, making it slow to respond with context and hard to know which conversations were AI-handled, in review, or waiting on a human.
Architecture
Application
-
Real-time inbox
Conversation list with live counts and updates via Supabase Realtime, refreshing on insert, update, and delete.
-
AI and human handoff workflow
Claim, assign, interrupt, review, and close conversation states across AI and agent messages.
-
n8n AI workflows
AI message generation, drafting, and automation orchestrated through n8n flows feeding back into the inbox.
-
Context panel
Customer, booking, property, and pre-check-in data fetched alongside the active thread.
-
Analytics
Aggregations for conversation volume, agent activity, ratings, and customer satisfaction.
-
Messaging server actions
Insert messages, update conversation state, and trigger real-time list and count refreshes.
Platform
-
Auth middleware
Resolves user, agent, and organization context on every protected API call.
-
Project-scoped subscriptions
Realtime channels filtered by project_id so each org only receives its own updates.
-
Role-based access
Admin vs agent surfaces across inbox, settings, and analytics.
Data
-
Supabase data model
Conversations, messages, agents, organizations, properties, and bookings in a shared Postgres schema.
-
Backend booking and property APIs
Reservation, contact, and property data sources powering the context panel.
Tech stack
-
Next.js 15 + React 19
App Router with Server Components, Server Actions, and API routes.
-
TypeScript
End-to-end typing across server actions, API routes, and UI.
-
Tailwind CSS 4 + Radix UI
Shadcn-style components built on Radix primitives.
-
TanStack Query + Zustand
Server-state caching with Zustand for local inbox state.
-
Supabase
Postgres database, auth, and row-level security backing tenant isolation.
-
Authentication
Supabase Auth with Google OAuth for agent sign-in.
-
Supabase Realtime
Project-scoped subscriptions powering live conversation updates and counts.
-
next-safe-action + Zod
Typed server actions with schema validation.
-
Recharts
Charts behind the analytics surfaces.
-
n8n
AI workflow automation orchestrating message generation, drafts, and handoff actions.
-
Vercel
Hosting for the Next.js app, server actions, and API routes.
Product surface
- 01
Live inbox
Real-time conversation list with mine, unassigned, and all views.
- 02
Conversation thread
Threaded messaging across AI, guest, and human-agent messages with review and handoff states.
- 03
Booking context panel
Customer, booking, property, and pre-check-in details next to the active thread.
- 04
Analytics dashboard
Conversation volume, agent activity, ratings, and customer satisfaction reporting.
- 05
Properties and users
Property records and agent or user management per organization.
- 06
Organization settings
Project-level configuration and tenant settings.
Outcome
A faster, more context-aware support workflow: AI handles or drafts responses, agents claim escalations with full booking context, managers track performance, and conversations stay scoped to the right organization.
- Built a real-time inbox with Supabase Realtime, scoped per project for tenant-isolated conversations
- Designed an AI and human handoff workflow with claim, assign, review, interrupt, and close states
- Surfaced customer, booking, property, and pre-check-in context next to every conversation thread