Skip to main content
The web app is the canonical product UI. It talks only through ApiMethods. With NEXT_PUBLIC_API_URL set, that adapter is HTTP against /v1. Without it, the UI uses an in-memory mock (a different path).

Using the app

  • Notes — create, edit, delete, archive
  • Search — handles, provenance, coverage
  • Privacy — private/ never leaves the device
  • Agents — MCP and HTTP from the same vault
Hosted entry: elanotes.com/home.

Run against a local API

Or pnpm dev (web :3000 + API :4000). Do not copy WorkOS placeholders into .env.local unless you intend to turn AuthKit on. NEXT_PUBLIC_API_URL is the API origin (no /v1 suffix). /v1 is on each path. The hosted app uses https://api.elanotes.com. OpenAPI servers lists that origin first, then http://127.0.0.1:4000. API_PUBLIC_URL still sets error help links and OAuth resource metadata.

What you get

  • Three panes: rail (220), note list (300), editor.
  • Today / Daily notes, folders (one nested level), tags as filters, Tasks as /tasks (the list stays mounted), and Review as /review for queued agent writes.
  • Search returns handles + coverage. private/ is excluded and named.
  • Body #word is text. Tags are footer chips.
The client uses GET /v1/tags, AIP-160 filter, and canonical :verb paths. See API overview.