PERSONAL•2026•Duccio Meconcelli

EDON

TypeScriptReactFastifySQLiteMCPDockerObsidianPlaywright
§ 00 // ABSTRACT

A private, local-first desktop made of tiles: notes, tasks, files, widgets, a two-way synchronized Obsidian vault and an agent API (REST and MCP), all stored on the user's own machine.

EDON is a self-hosted personal dashboard conceived as a quiet canvas instead of another inbox. A configurable grid of tiles holds notes, todos, links, images, files, clocks, weather, timers, system metrics, AI quota widgets and a radio player. Data stays in local SQLite and in files owned by the user, with no cloud account.

EDON cover
EDON — a private, local-first desktop made of tiles

Tiles, Notes & Obsidian

  • Dynamic Grid: From 2 to 12 columns and 2 to 128 rows, with an edit mode for drag, resize, compact, duplicate and per-tile inspection. Smaller screens fall back to a scrollable layout and then a single column.
  • Markdown Notes & Quick Capture: Inline editing in block or source mode with undo and live preview. Pasted Markdown can turn - [ ] lines into todos, a lone URL into a link card, or attach images and GIFs.
  • Obsidian Vault Integration: Browse, search, pin, edit and archive Markdown notes with two-way file synchronization, protected by version checks, atomic writes, trash handling and symlink confinement.
  • Appearance: Global controls for spacing, shape, borders, opacity, glass effect and animated wallpapers; folders hold up to 24 child tiles.

Agents, Security & Deployment

  • Agent-Ready API: Scoped Bearer tokens, a REST API and a stateless MCP server at /mcp let external agents operate on tiles and layout; Vault access is read-only for agents, and mutations require a browser session.
  • Single-User Security: Password login, HTTP-only sessions, rate limiting and a localhost-only binding by default.
  • Docker & Portability: Published as a single container image on GitHub Container Registry with one data volume, plus JSON export/import of the desktop. The monorepo (apps/server, apps/web, packages/shared) is covered by unit and Playwright tests and CI.

Resources