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

Agent Instructions

This documentation is published for humans and AI agents. Prefer .md URLs for structured content.

  • 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.