For the complete documentation index, see /developers/llms.txt Markdown versions: append .md to any /developers/{slug} URL. Browse structure: /developers/sitemap.md This page: /developers/ui-surfaces.md

Domain: UI surfaces

Canonical rule: Product UI lives under `src/routes/`. Mutations from the browser use native fetch to explicit +server.ts routes (per project guardrails), not ad-hoc server functions from client bundles.

CompetingSystems

Route map (high level)

Each entry: Purpose / Owns (user-visible concern) / Key server load (if any).

  • `/` — Landing / home. Load: `+page.server.ts`.
  • /capture — Primary thought capture and post-capture edit UI. New submits use the client capture queue (capture-queue.md); edits fetch /api/capture/edit. Optional grounding check-in cards. Load: `capture/+page.server.ts`.
  • /memory — Memory hub (bottom nav). Secondary nav: Graph (default), Embeddings (?view=embeddings), Timeline (/memory/timeline), Notes (/memory/notes). Legacy /graph, /timeline, /notes redirect here.
  • /chat — Memory assistant UI (agent tool loop: retrieve_thoughts then inline compose; thought CRUD + Notes tools) backed by `/api/chat` and session routes.
  • /activity — Usage / activity views. Load: `activity/+page.server.ts`.
  • /settings — User settings (language, theme, LLM provider, push notifications, onboarding restart). Load: `settings/+page.server.ts`.
  • /api-keys — API key management UI. Load: `api-keys/+page.server.ts`.
  • /login, /register — Auth flows.
  • /eval — System evaluation harness (dev only): QA catalog and runs.

API routes (browser or MCP)

  • Documented in ingestion and retrieval domain maps; UI typically hits /api/capture/*, /api/retrieval/search, /api/chat/*, /api/entities/*, /api/thoughts/* as implemented. When adding a new button, trace to the matching +server.ts and update the relevant domain map.
  • PWA / push: manifest at static/manifest.webmanifest; service worker `src/service-worker.ts` (push / notificationclick + capture queue Background Sync). Client registration in `src/routes/+layout.svelte`. Push APIs: /api/push/subscribe, /api/push/unsubscribe, /api/push/test, /api/push/vapid-public-key (requires VAPID_* env vars).
  • Capture queue (canonical): capture-queue.md — IndexedDB queue, layout runner, service worker Background Sync, queue list UI, ingest step indicator.

Components

Agenten-Hinweise

This documentation is published for humans and AI agents. Bevorzuge .md URLs für strukturierte Inhalte.

  • Index: /developers/llms.txt
  • Full export: /developers/llms-full.txt
  • Sitemap: /developers/sitemap.md
  • Raw page: append `.md` to any /developers/{slug} URL
  • Example: GET /developers/mcp-overview.md

Dynamic `?ask=` and `?goal=` query on markdown URLs is planned — see docs/planning/10-docs-query-api-design.md.