Client Backoffice¶
The Client Backoffice is a React-based administration interface that provides visibility into visitor activity, conversations, and engagement metrics for Rose-powered websites.
Overview¶
The backoffice allows client teams to:
- Monitor Visitors: View all visitors who have interacted with the widget, including their engagement history
- Review Conversations: Read conversation transcripts and track conversation quality scores
- Track Accounts: See company-level aggregations when visitors are enriched with company data
- Analyze Engagement: View metrics like CTA clicks, demo bookings, and email captures
Architecture¶
┌─────────────────────────────────────────────────────────────┐
│ Client Backoffice UI │
│ (React + TypeScript + Vite) │
└──────────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Supabase Client │
│ (Direct queries + RPC functions) │
└──────────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PostgreSQL (Supabase) │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────────┐ │
│ │ visitors │ │ conversations│ │ visitor_sessions │ │
│ └─────────────┘ └──────────────┘ └───────────────────┘ │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────────┐ │
│ │ accounts │ │ messages │ │ RPC Functions │ │
│ └─────────────┘ └──────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Key Components¶
| Component | Description |
|---|---|
VisitorsTable |
Main visitor list with sorting, filtering, and pagination |
ConversationsTable |
Conversation list with topic filtering and quality scores |
AccountsTable |
Company-level aggregation view |
DashboardPage |
Overview metrics and highlights |
Documentation¶
- Visitor Data Flow - How visitor data flows from widget to backoffice