UI Configuration
The Dagy web UI is a Next.js application that fetches its configuration from the API at runtime. This page covers the API-served UI config endpoints and the frontend environment variables.
UI Config Endpoints
The API serves UI content via read-only endpoints. These return JSON payloads that drive the frontend layout, navigation, and content:
| Endpoint | Description |
|---|---|
GET /ui/marketing | Landing page content (hero, features, pricing, CTA) |
GET /ui/navigation | Sidebar navigation structure and menu items |
GET /ui/dashboard | Dashboard layout (stats, recent runs, suggestions) |
GET /ui/settings | Settings page structure and configuration options |
These endpoints return static content defined in ui_content.py. No authentication is required for /ui/marketing; the others require a valid session.
Frontend Environment Variables
The Next.js app uses environment variables for authentication and routing configuration:
| Variable | Description | Required |
|---|---|---|
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Clerk public key for authentication | Yes |
CLERK_SECRET_KEY | Clerk secret key (server-side only) | Yes |
NEXT_PUBLIC_CLERK_SIGN_IN_URL | Sign-in page path | Yes (default: /sign-in) |
NEXT_PUBLIC_CLERK_SIGN_UP_URL | Sign-up page path | Yes (default: /sign-up) |
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL | Redirect after sign-in | Yes (default: /dashboard) |
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL | Redirect after sign-up | Yes (default: /dashboard) |
Copy web/.env.local.example as a starting point:
cp web/.env.local.example web/.env.local
AI Studio Configuration
AI Studio launches as a session-based agentic workflow builder:
| Endpoint | Description |
|---|---|
GET /ui/ai-studio | AI Studio page content and example prompts |
GET /ai-studio/tiers | Tier limits, research availability, and credit balance |
POST /ai-studio/sessions | Create a new session |
POST /ai-studio/sessions/{session_id}/messages | Synchronous message turn |
POST /ai-studio/sessions/{session_id}/messages/stream | Streaming SSE message turn |
POST /ai-studio/sessions/{session_id}/attachments/initiate | Initiate a single-part attachment upload |
POST /ai-studio/sessions/{session_id}/attachments/complete | Complete upload and parse attachment |
Retired launch-surface endpoints:
| Endpoint | Status |
|---|---|
POST /ui/ai-studio/generate | Retired (410 Gone) |
POST /ui/ai-studio/generate-and-save | Retired (410 Gone) |
AI Studio only exposes executable production nodes at launch:
s3_ingest, s3_write, http_fetch, schema_validator, data_normalizer, deduplicator, python_function, and webhook_post.
Theme Configuration
The UI uses a custom dagy color palette (indigo-based) defined in web/tailwind.config.ts:
- Primary:
dagy-500(#6172f3) - Dark mode: Default theme
- Font: Figtree (variable weight 300–900)
Theme variables are defined as CSS custom properties in web/src/app/globals.css for both light and dark modes.