Dashboard Overview
The Curate-Me Dashboard is the operating surface for the platform. It is where teams onboard a workspace, manage gateway access, review approvals, inspect request logs, monitor runners, and coordinate production AI operations without dropping into raw infrastructure.
Production URL: https://dashboard.curate-me.ai
What teams use it for
| Feature | Description |
|---|---|
| Onboarding and setup | Create org context, generate gateway keys, connect provider secrets, and verify traffic is flowing |
| Gateway operations | Inspect request logs, governance denials, approval queues, cost headers, and provider health |
| Managed runner control | Create runners, launch sessions, inspect artifacts, follow event streams, and enforce cost or egress controls |
| Approvals and governance | Review HITL requests, apply model or budget policy, and coordinate cross-functional sign-off |
| Observability | Track spend, usage, health, anomalies, and activity across the platform from one place |
| Developer workflows | Use the workflow builder, traces, evaluations, and admin tools when teams want deeper control |
Architecture
The dashboard talks to both the B2B API and the gateway surface. It provides the UI for the same systems the docs site describes: gateway governance, runner control plane, approvals, and usage reporting.
Dashboard (port 3001) ──────► B2B API (port 8001)
│ │
├─ JWT Authentication ├─ TenantIsolationMiddleware
├─ X-Org-ID Header ├─ Role-based access control
└─ Organization context └─ Per-org data isolation
│
└────────────────────────► Gateway API (port 8002)
│
├─ Gateway request logs and health
├─ Approval and governance metadata
└─ Runner management endpointsEvery API request from the dashboard includes the organization context:
// apps/dashboard/lib/api.ts
const headers = {
'Authorization': `Bearer ${token}`,
'X-Org-ID': organizationId,
'Content-Type': 'application/json',
};Core areas
| Area | What you do there |
|---|---|
| Overview | See system health, spend, quick actions, and current platform status |
| Gateway | Review traffic, denials, provider routing, budgets, and logs |
| Approvals | Approve or reject high-cost and sensitive requests |
| Runners | Provision and manage OpenClaw sessions, fleets, files, and compute |
| Settings | Manage API keys, provider secrets, billing, and org configuration |
| Builder and ops tools | Workflows, traces, evaluations, debugging, and internal operator tooling |
Common operator flow
- Connect provider secrets and create a gateway key.
- Point an app or agent at the gateway.
- Watch live traffic and governance headers in the gateway views.
- Triage denials or pending approvals.
- Scale into managed runners, fleets, and richer observability as usage grows.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 15 with App Router |
| UI | React 19, Tailwind CSS |
| State Management | Zustand (client state), TanStack Query (server state) |
| Workflow Canvas | React Flow (@xyflow/react) |
| Charts | Recharts |
| Real-time | Server-Sent Events (SSE) via EventSource |
Getting Started
# Start the dashboard
npx turbo dev --filter=dashboard
# B2B API
cd services/backend
poetry run uvicorn src.main_b2b:app --reload --port 8001
# Gateway API
poetry run uvicorn src.main_gateway:app --reload --port 8002The dashboard runs on http://localhost:3001 in development.