Client Backoffice¶
The Client Backoffice is a React-based management platform for Rose-powered websites. It lets client teams monitor engagement, review conversations, manage AI content, and configure agent behavior — all from a single interface.
Overview¶
flowchart LR
subgraph Analytics [Analytics and Monitoring]
direction TB
Dashboard["Dashboard
Metrics, conversion rates,
engagement highlights"]
Visitors["Visitors
Activity timeline,
enrichment data"]
Accounts["Accounts
Company-level
aggregation"]
Conversations["Conversations
Transcripts, quality
scores, filtering"]
Topics["Topics
Frequency charts,
keyword extraction"]
end
subgraph Management [Content and Configuration]
direction TB
AISections["AI Sections
Create and edit content
blocks for the agent"]
Agents["Agents
Toggle agents,
view status"]
Settings["Settings
Schema-driven config
with feature toggles"]
end
subgraph Support [Support]
direction TB
Tickets["Support Tickets
Report chatbot issues
and general requests"]
end
subgraph Admin [Admin Only]
direction TB
Integrations["Integrations
HubSpot OAuth,
sync management"]
Clients["Clients
Organizations
and domains"]
Users["Users
Access control,
domain assignments"]
end
style Analytics fill:#d4edda,stroke:#28a745
style Management fill:#fff3cd,stroke:#d4a017
style Support fill:#d6eaf8,stroke:#2e86c1
style Admin fill:#e8daef,stroke:#7d3c98
| Area | Pages | Description |
|---|---|---|
| Analytics | Dashboard, Visitors, Accounts, Conversations, Topics | Monitor engagement metrics, review transcripts, track company-level activity, analyze conversation topics |
| Content | AI Sections, Agents | Create and edit AI content blocks, toggle agents on/off |
| Configuration | Settings | Schema-driven config editor (global + website agent), feature toggles, JSON export for admins |
| Support | Support Tickets | Report chatbot issues and general requests, tracked in Linear |
| Admin | Integrations, Clients, Users | HubSpot sync, client/domain management, user access control |
Architecture¶
flowchart TD
UI["Client Backoffice UI
React + TypeScript + Vite"]
UI --> Supabase["Supabase Client
Direct queries + RPC functions"]
Supabase --> DB
subgraph DB [PostgreSQL - Supabase]
direction LR
visitors
conversations
visitor_sessions
accounts
messages
RPC["RPC Functions"]
end
style UI fill:#e8daef,stroke:#7d3c98
style Supabase fill:#fff3cd,stroke:#d4a017
style DB fill:#d4edda,stroke:#28a745
Local Development Users¶
The Supabase seed (supabase/seed.sql) creates two backoffice users for local development. After running supabase db reset, you can log in with these credentials:
| Password | Role | Domain Access | |
|---|---|---|---|
admin@admin.com |
admin |
Admin | All domains |
user@user.com |
user |
Regular user | abtasty.com only |
The admin user has full access to all domains and can manage users. The regular user is restricted to abtasty.com data only, useful for testing the domain-scoped RLS policies.
Documentation¶
- Support Tickets - Reporting issues to Linear from the backoffice
- Visitor Data Flow - How visitor data flows from widget to backoffice
- Data Sources - Complete reference of tables, views, RPCs, and React Query hooks