VelocityNote — Markdown notes at the speed of thought

VelocityNote

11 min read Original article ↗

A cross-platform, local-first Markdown notebook with optional sync — and AI that runs entirely on your own machine.

VelocityNote

The demo has not been built for this deployment.
Run dropnote-server/build-landing.sh before deploying.

MCP & agent skills Local AI models Optional sync

Small footprint. Full notebook.

A native app under 100 MB — including the full-text retrieval AI agents need and local AI execution runtimes — built to keep memory pressure low, open quickly, and search complete vaults locally.

  • Low install size and low memory pressure
  • SQLite FTS5 searches every note for you and connected AI agents
  • Markdown, diagrams, math, attachments, voice, import, and agent tools are built in
  • Execute local AI models with llama.cpp and ONNX runtimes built in

TablesTask listsFootnotes LaTeXMathFlowcharts Code highlightingImages and attachments

VelocityNote 34 MB

Inkdrop 262 MB

Notion 285 MB

Obsidian 441 MB

VelocityNote 86 MB

Obsidian 208 MB

Inkdrop 258 MB

Notion 380 MB

VelocityNote 0.4 s

Obsidian 1.9 s

Inkdrop 2.6 s

Notion 3.4 s

Illustrative cold-start comparison on an Apple Silicon Mac.

VelocityNote 9 ms

Inkdrop 90 ms

Obsidian 180 ms

Notion 600 ms

Illustrative response time when searching a 10,000-note vault.

AI models for your text, voice, image and document notes.

AI that runs on your own machine.

A llama.cpp language model, speech recognition and image recognition are built into VelocityNote and run on your computer. No account, no API key, no upload — use as much as you need.

Ops budget review

FixCurrentAI suggestionRejectAccept

Ops budget review

## Q3 spend

  • Servers: $4,200 (was $3,800) because of the new EU region
  • Storage: $610, flat
  • Monitoring: $340 — trial ends in October

## Decisions

  • Keep the EU region; revisit storage tier in Q4

Working on · Selected text

Improve writing

Translate

Extract action items

Ask AI…

More

Answered on this computer · Qwen3-4B · Q4_K_M

Select text or use the whole note. Polish, shorten, expand, simplify, change tone, translate between English and Chinese, extract action items, ask questions, or give a custom instruction. Summaries, outlines, formatting fixes, and title/tag suggestions are also built in. Everything runs offline on your hardware, and rewrites stay reviewable before they change the note.

Runs onQwen3-4B · Q4_K_MQwen3-1.7B · Q8_0

Your notes, ready for your AI tools.

Connect an AI assistant once, then ask it to find, draft, organize, and link notes in your vault. Its changes appear as normal Markdown notes you can review and edit.

  • Searches titles, tags, links, and full text
  • Creates the tables, tasks, math, and diagrams the app already supports
  • Links related notes instead of copying the same context into every answer
  • Everything it writes remains an ordinary note, tagged ai_notes, and yours to edit

Velocity mode.

Inspired by Notational Velocity: one field for search and creation. Press P on macOS or CtrlP on Windows to search every note, preview matches, or create the note you just typed.

  • Global tools: > commands · b notebooks · t tags
  • on no match creates that note; on macOS or Ctrl on Windows creates one any time

VelocityNote

storage quota ⌘↵ new

Storage quota reviewWork

Standup — 14 AugWork / Standups

Ops budgetWork

+Create “storage quota”

Search…> commandsb notebookt tag

Your AI assistant can work directly in your notes.

Ask it to find an earlier decision or write a note directly into your vault. Agent-written notes can use the same Markdown features you do — tables, tasks, [[wiki links]], Mermaid diagrams, LaTeX math, code, and attachments.

claude — velocitynote

 write up this standup thread — decisions on top, follow-ups as tasks → Work / Standups
search_notes(q: "standup rollout")
  ⎿ read 3 notes it should link to
create_notes(book: "Work / Standups")
Standup — 14 Aug · tagged ai_notes · 2 links

 add what we agreed after lunch
patch_note(append)
+2 lines · same note

VelocityNote

Standup — 14 Aug

Work / Standups# ai_notes14 Aug 2026

Decisions
  • Ship the follower fix behind a flag; rollout Monday — see [[Launch checklist]]
Follow-ups
  • Post the incident summary
  • Write the rollback note
  • Confirm the storage quota with ops

Launch checklist

Blocked on [[Storage quota review]], decided in [[Standup — 14 Aug]].

Linked from Standup — 14 Aug Ops budget Rollback plan

Build connected notes Writes [[wiki links]], preserves backlinks, and can follow that graph later with get_backlinks and get_links.

Release 1.2 — plan

StageOwnerDay
CanaryopsMon
FullopsWed

p95 < 200 ms, so n ≈ ⌈λ·t⌉ = 12

Write structured Markdown Creates tables, task lists, Mermaid diagrams, and LaTeX math as editable Markdown.

claude — velocitynote

 did we ever write down the rollback steps?
search_notes(q: "rollback")
  ⎿ 21 matches · 6 notes
grep_notes(pattern: "step \d")
  ⎿ 2 notes

  Yes — Rollback plan (3 Jul), steps 1-4.
  Answers name the notes they came from.

Read across your vault Searches titles, tags, links, and full text, then names the source notes so you can verify the answer.

Move your notes without starting over.

Import notes from almost any format. Markdown folders and Obsidian vaults work out of the box; for Notion, Word, PDF, Evernote, and other formats, an AI agent converts them into the same Markdown import path.

Waitlist

Sync on your demand.

Choose free self-hosted sync or optional VelocityNote Cloud Sync.

Self-hosted sync In development and included free with the app, so your data never leaves your environment.

Hosted Cloud Sync Optional and currently available through the waitlist.

Cloud Sync includes

  • Every signed-in app sees the same notes, notebooks, tags, links, and attachments.
  • Optimistic concurrency control (OCC) merges concurrent edits instead of overwriting them, and shows any conflict it cannot resolve.
  • Attachment sync supports files up to 300 MB.
  • Open the same vault in your browser when you are away from your computer.

VelocityNote — Preferences

Sync

Your notes stay on this disk. Sync keeps the other devices in step.

Sync my notes

StatusUp to date · 2 s ago

This vault2,184 notes · 575 MB attachments

Devices signed in3

Unresolved conflictsnone

Why VelocityNote

VelocityNote is designed around four things: speed, useful AI access, features that work together, and notes you continue to own.

Your AI tools work with the same notes you do

Connect an AI assistant directly to your vault. It can search, read, write, organize, and link notes, while every result remains ordinary Markdown you can edit.

Search stays fast as your notebook grows

Full-text search is built into the vault, so results appear as you type and are ready as soon as the app opens.

The essentials work together

Tables, tasks, footnotes, math, diagrams, wiki links, voice transcription, import, and search are built in and designed to work as one product.

The notes stay yours

Your notes are Markdown on a computer you control, and the app opens them without a network connection. Export gives you the same .md files, with images beside them, whenever you want them.

Fast local notes, reliable Markdown, and AI help when you want it.

Simple pricing

Buy once. Use it on all devices.*

Start free with up to 50 local notes, or buy Lifetime once for unlimited local notes.

Free

Try it first

Everything local, up to 50 notes.

  • Up to 50 local notes
  • Editor, search, voice notes, and local AI
  • Works offline
  • No credit card required

Lifetime

One-time purchase

Early-bird price ends October 31.

One license for all your devices

  • Unlimited local notes, forever
  • Use it on up to 30 devices
  • macOS and Windows now; iOS and more platforms are coming
  • Works offline
  • No subscription or recurring fees

Cloud Sync

Waitlist

Choose Cloud Sync for convenience. VelocityNote hosts and maintains the server for you.

  • Sync across your signed-in devices
  • Open your notes in any browser
  • Attachments included
  • Host it yourself: free, secure, and under your control. Self-hosted sync is included with the local version.

* Up to 30 active devices.

Connect your agent

VelocityNote is the MCP server — nothing extra to install, no service to keep running. Preferences prints the line; paste it and restart your agent.

  1. Open Preferences → MCP and turn on Allow agent access
  2. Press Copy command — the address and the token are already in it
  3. Paste it into your terminal and restart your agent
  4. The tools appear under /mcp: search, read, create, patch, tag, file

Other clients (Cursor, Claude Desktop, your own script) get the same thing as JSON. The endpoint is on loopback and refuses anything without the token.

VelocityNote — Preferences

MCP — connect an AI agent

Typed tools to search, read and write your notes. Nothing to install — the endpoint is part of this app.

Allow agent access

Claude Code

claude mcp add --transport http velocitynote http://127.0.0.1:8790/mcp \ --header "Authorization: Bearer vn_7c1f…9ad2"

Other clients get the same thing as JSON.

Copy JSONCopy command

Ask your own notes

Your assistant can search the vault when a task depends on your past work. Results name the notes used so you can check them.

  1. Connect your assistant once in Preferences
  2. Ask in plain words — no syntax, no note ids
  3. It searches the vault, then reads only the notes that matched
  4. Answers name the notes they came from.

VelocityNote searches full text, titles, tags, and links, then shows which notes supported the answer.

claude — velocitynote

 what did we decide about the storage quota?
search_notes(q: "storage quota")
  ⎿ 12 matches · 4 notes
read_notes(ids: 4)
  ⎿ 3.1k tokens

  Raise it to 2 TB, reviewed at launch (14 Aug).
  sources: Standup — 14 Aug · Launch checklist · Ops budget

Bring the right context

Say what you are working on and how many tokens you can spare. get_context returns one markdown bundle — the right notes, trimmed to fit, with their sources.

  1. Call get_context with the task and a token budget
  2. It picks by full-text match, tags, [[wiki]] links and recency
  3. You get markdown, its sources, and an estimated token count
  4. Follow the graph from there: get_backlinks, get_links, get_outline

The context lives in your vault, not in one chat history — so the next session starts where the last one left off.

claude — velocitynote

 catch up on the launch before we start
get_context(task: "ship the 1.2 launch", budget_tokens: 2000)
  ⎿ 6 sources · 1,842 tokens

context bundle · markdown

## Launch checklist

Work · updated 14 Aug

- [ ] Confirm the storage quota with ops - [x] Post the incident summary


## Standup — 14 Aug

Work / Standups · updated 14 Aug

Ship the follower fix behind a flag; rollout Monday. Quota raised to 2 TB, reviewed at launch.

sources: 6 notes · used_tokens_estimate: 1842

Import all your notes within minutes

Two paths, and which one you take depends only on what you already have. Both show you a preview first — nothing is written until you approve it.

Already Markdown? Do it yourself

  1. Open Preferences → Import, choose Markdown folder or Obsidian vault
  2. Pick the folder and the notebook it lands in
  3. Read the plan — nothing is written yet — then press Import

Anything else? The agent converts it

  1. Point your agent at the folder or the export file
  2. It converts to Markdown — original dates, images and folders survive
  3. It runs import_folder as a dry run and shows you the count
  4. You say yes. Re-runs update those notes instead of duplicating them

Notion, Word, PDF, Evernote and the rest are converted into the same Markdown folder format the app reads natively — one importer, one format, no second path.

VelocityNote — Preferences

Import from

Markdown folderAny folder of .md files

Obsidian vaultWiki-links and attachments

Keep the folder structure

Import intoImported ▾

Ready to import

340notes

12notebooks

87images

All 340 are new. Re-importing later updates them instead of duplicating.

BackImport 340 notes

claude — velocitynote

 import ~/Documents/Reports (word + pdf) and this evernote .enex — keep the dates
convert → ~/tmp/import-staging
  ⎿ 314 notes · 41 images · original dates kept
import_folder(dry_run: true)
  ⎿ 314 notes · 24 notebooks · create 314 · update 0
     warn: 6 .xlsx are not notes — skipped

 yes
import_folder(digest: "4b80…7e")
created 314 · updated 0 · failed 0