Notes & Knowledge Bases — procurement report
ProductArena · rankings as of 2026-09-14 · evidence as of 2026-09-14 · 6 products · 55 judged requirements · 330 judged cells
Methodology: Every product is judged against a shared taxonomy of user stories using cited evidence — hands-on probes > repository code > independent community sources > vendor claims — never opinion. Full writeup: https://ultrametric.ai/productarena/methodology
Leaderboard
| # | Product | PA Score | Coverage score | Applicable cells | Confidence |
|---|---|---|---|---|---|
| 1 | Anytype | 38.5 | 37.7 | 55/55 | A |
| 2 | Capacities | 26.4 | 30.1 | 55/55 | A |
| 3 | Poly | 25.4 | 22.8 | 55/55 | A |
| 4 | Reflect | 12.7 | 21.2 | 53/55 | C |
| 5 | Logseq | 11.1 | 21.5 | 55/55 | C |
| 6 | Obsidian | 10.3 | 34.3 | 55/55 | A |
PA Score = agent-readiness blend (see methodology). Coverage score = weighted share of judged requirements met. Confidence = how much of the score rests on tested vs claimed evidence (A–D).
Uncertainty note
The current #1/#2 gap in this arena is not close enough to qualify for the multi-judge uncertainty pass (or the pass has not covered it yet) — no extra caveat applies beyond the per-product confidence grades above.
Buyer checklist (RFP)
The arena's 55 judged user stories as requirements, grouped by theme. Priorities mirror the story weights our scoring uses (3 = must-have, 2 = should-have, 1 = nice-to-have). Interactive version with per-requirement verdicts for the top products: /arena/notes-knowledge/checklist
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
- ai-native userPlug MCP servers into this product so it can use their toolsmust-have
- ai-native userConnect an agent via an official MCP servermust-have
- ai-native userDrive the product through a documented public APImust-have
- ai-native userDelegate tasks to a built-in AI assistant inside the productmust-have
- ai-native userPoint an agent at llms.txt or agent-oriented docsshould-have
- ai-native userRun the product headlessly / in CI for automationshould-have
- ai-native userUse an official CLIshould-have
- ai-native userIssue scoped/least-privilege API credentials for an agentshould-have
- ai-native userBuild against official SDKsshould-have
- ai-native userSubscribe to events via webhooksshould-have
- ai-native userGet AI-generated insights and suggestions from my data inside the productshould-have
- ai-native userSet up automations that run autonomously in the backgroundshould-have
- ai-native userOperate the product with natural-language commandsshould-have
- ai-native userExplore an interactive API reference with runnable examplesshould-have
- ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)should-have
- ai-native userRely on versioned APIs with a documented deprecation policyshould-have
- ai-native userTest against a sandbox environment without touching production datanice-to-have
Ai in notes — stories about ai in notes in this arenaAi in notes
Stories about ai in notes in this arena
- ai-native userMy coding agent or assistant can read AND write my notes headlessly — through a documented local API, vendor API, or MCP server — without me touching the GUImust-have
- ai-native userConnect external LLMs and AI tools to my notes through first-party connectors or an ecosystem of AI pluginsshould-have
- ai-native userA built-in AI assistant can answer questions, summarize, and draft grounded in my own notes — with clear controls over what data it seesshould-have
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
- ai-native userDefine rules that trigger actions automatically on eventsmust-have
- ai-native userPerform bulk operations across many items at onceshould-have
- ai-native userSchedule recurring jobs or workflowsshould-have
- ai-native userVersion, review, and roll back my automationsnice-to-have
Capture editing — stories about capture editing in this arenaCapture editing
Stories about capture editing in this arena
- power-userI get an automatic daily note for each day, pre-filled from a template, as the default landing place for journaling and capturemust-have
- researcherClip web pages, articles, and highlights from my browser straight into my notes with an official clipper or capture flowshould-have
- power-userDefine reusable templates (with variables like date and title) and apply them when creating recurring kinds of notesshould-have
- power-userWrite and format notes with headings, callouts, tables, code blocks, and embedded media in a fast keyboard-driven editorshould-have
Import export — stories about import export in this arenaImport export
Stories about import export in this arena
- switcherImport my existing notes from Notion, Evernote, Roam, or plain Markdown with structure, links, and attachments preservedmust-have
- switcherExport my entire knowledge base at any time in open formats, so leaving is as easy as arrivingshould-have
Linking graph — stories about linking graph in this arenaLinking graph
Stories about linking graph in this arena
- researcherLink notes with [[wiki-style]] links and see every backlink and unlinked mention of a note in contextmust-have
- power-userReference or transclude an individual block or section of one note inside another and have it stay in syncshould-have
- researcherExplore my knowledge base as an interactive graph of notes and connections, filtered to what I care aboutnice-to-have
Local first ownership — stories about local first ownership in this arenaLocal first ownership
Stories about local first ownership in this arena
- power-userMy notes live in local files or a local-first store that I own and can read without the app, and everything keeps working fully offlinemust-have
- researcherMy notes are stored or exportable in open, documented formats (Markdown, JSON) so my archive outlives the vendorshould-have
- developerRun the whole system without the vendor's cloud — local-only mode or a self-hosted sync backend I operate myselfshould-have
Mobile capture — stories about mobile capture in this arenaMobile capture
Stories about mobile capture in this arena
- power-userFull-featured iOS and Android apps give me my whole knowledge base — capture, search, and linking — not a stripped-down companionshould-have
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
- ai-native userExport all of my data in open formats and leavemust-have
- ai-native userSelf-host the core productmust-have
- ai-native userDo everything through the API that I can do in the UIshould-have
- ai-native userRead the product's source under an open licenseshould-have
Organization retrieval — stories about organization retrieval in this arenaOrganization retrieval
Stories about organization retrieval in this arena
- power-userQuery my notes by their structured properties and render live database-style views (tables, boards, lists) from those queriesmust-have
- researcherInstantly search all my notes with full-text search plus filters on tags, properties, and paths — including offlinemust-have
- power-userAttach typed properties and tags to notes and use them consistently for organization and retrievalshould-have
Plugins extensibility — stories about plugins extensibility in this arenaPlugins extensibility
Stories about plugins extensibility in this arena
- power-userBrowse and install from a large catalog of community plugins/extensions to add features the core app doesn't shipmust-have
- developerDrive the app from outside — create or open notes via a URI scheme, deep links, or a local endpoint — to wire it into my scripts and workflowsshould-have
- developerBuild my own plugins against a documented extension API/SDK with samples and developer docsshould-have
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
- ai-native userPrevent my data from being used to train AI modelsmust-have
- ai-native userChoose where my data is stored (region/residency)should-have
- ai-native userControl data retention and deletionshould-have
- ai-native userOpt out of telemetry and usage trackingshould-have
Publish sharing — stories about publish sharing in this arenaPublish sharing
Stories about publish sharing in this arena
- researcherPublish selected notes as a browsable website — a digital garden with working links — without leaving the appshould-have
Sync collaboration — stories about sync collaboration in this arenaSync collaboration
Stories about sync collaboration in this arena
- power-userAn official sync service keeps my notes updated across all my devices with end-to-end encryption the vendor can't readmust-have
- researcherShare a vault or space with collaborators and edit notes together without stepping on each other's changesshould-have
- power-userView a note's version history and restore earlier versions or recover deleted notesshould-have
Appendix: recorded probes
Hands-on probe recordings — transcripts/videos a human can replay, the strongest evidence tier. Watch them at https://ultrametric.ai/productarena/proofs
- Anytype
echo '<jsonrpc initialize>' | npx -y @anyproto/anytype-mcpterminal · recorded 2026-09-05 · exit 0 - Anytype
curl -s https://raw.githubusercontent.com/anyproto/anytype-heart/main/core/api/docs/openapi.json | python3 -c 'import json,sys; d=json.load(sys.stdin); print("PA_PROBE_OK anytype openapi:", d.get("openapi"), "paths:", len(d.get("paths",{})))'terminal · recorded 2026-09-05 · exit 0 - Capacities
curl -si -X POST https://api.capacities.io/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-05 · exit 0 - Capacities
curl -s https://api.capacities.io/openapi.json | head -c 200; curl -si https://api.capacities.io/spaces | head -6terminal · recorded 2026-09-05 · exit 0 - Logseq
curl -s https://api.github.com/repos/logseq/marketplace/contents/packages | python3 -c 'import json,sys; print("PA_PROBE_OK logseq marketplace packages:", len(json.load(sys.stdin)))'terminal · recorded 2026-09-05 · exit 0 - Obsidian
curl -s https://raw.githubusercontent.com/obsidianmd/obsidian-releases/master/community-plugins.json | python3 -c 'import json,sys; print("PA_PROBE_OK obsidian community plugins:", len(json.load(sys.stdin)))'terminal · recorded 2026-09-05 · exit 0 - Poly
curl -sL https://docs.poly.app/llms.txt | head -3terminal · recorded 2026-09-14 · exit 0 - Poly
curl -si -X POST https://mcp.poly.app/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-14 · exit 0 - Reflect
curl -si https://reflect.app/api/graphsterminal · recorded 2026-09-05 · exit 0
Cite as: ProductArena by Ultrametric Inc, Notes & Knowledge Bases arena, rankings as of 2026-09-14 — https://ultrametric.ai/productarena/arena/notes-knowledge
License: © 2026 Ultrametric Inc. Brief quotation of individual verdicts, scores, or evidence excerpts is permitted with attribution to "ProductArena by Ultrametric Inc (ultrametric.ai/productarena)", as is use of the data to evaluate, contest, or contribute corrections. Bulk copying, redistribution, or use to build competing datasets requires prior written permission (see DATA-LICENSE in the repository).
No liability: rankings, verdicts, and scores are research outputs derived from the cited evidence at a point in time, provided "as is", without warranties. Ultrametric Inc accepts no responsibility for procurement, purchasing, or other decisions made in reliance on them — verify against the cited evidence before acting (https://ultrametric.ai/productarena/terms).