A private canvas for serious thinking

Think in ink.
Work with intelligence.

Keryx turns a freeform notebook into an agent-ready workspace—without sending your vault, notes, or gateway through a public application backend.

Tailnet private Local-first storage Obsidian compatible
Research notebook — Keryx
Hermes online
Distributed cognition•••
Distributed cognition
external memory shared context agent relay capture synthesis
NVIDIA OCR · ready
CANVAS-FIRSTHERMES-READYNVIDIA OCROBSIDIAN EXPORTTAILSCALE PRIVATELOCAL-FIRST

One workspace, fewer seams

Capture freely.
Structure when it matters.

Keryx keeps the looseness of paper while adding the retrieval, organization, and agent context that digital research demands.

01

A canvas that remembers

Every page is a durable tldraw document. Draw, type, map, annotate, and return without flattening your thinking into rigid blocks.

02

Hermes in context

The gateway receives page metadata and OCR transcription, so its answers begin with what you are actually looking at.

03

Your vault stays yours

Export clean Markdown directly into an Obsidian folder. No proprietary sync layer and no plugin-shaped lock-in.

research-note.mdsystems-map.mdreading-log.md

Private by architecture

Public landing page.
Private working system.

The website explains Keryx. The application runs on your machine, with a server-side proxy that keeps credentials out of the browser and reaches Hermes through your tailnet.

  • 01BrowserCanvas and IndexedDB stay close to the user.
  • 02Keryx proxySame-origin routes protect service credentials.
  • 03TailscaleHermes remains private and addressable by MagicDNS.
  • 04NVIDIA APIHosted OCR runs through the sidecar, never directly from the browser.
Keryxbrowser
ProxyDocker
Hermestailnet
NNVIDIAhosted API
Vaultlocal files

Run it your way

One Compose file.
A private path to Hermes.

Bring an NVIDIA API key, a Tailscale auth key, your Hermes gateway address, and an Obsidian folder. Keryx handles the rest.

keryx — setup
# configure services
cp .env.docker.example .env.docker

# build and join the tailnet
docker compose --env-file .env.docker up -d --build

# open locally
http://127.0.0.1:8080

Ink is only the beginning.

Build a notebook that
thinks with you.

Get Keryx on GitHub
Featured on Featured on Launch Llama