Arf.
The surface

Writing & reading

The note is the whole product. Everything else stays out of the way until you look for it.

A note in Arf is a page of text. It reads like paper — set in EB Garamond, in a column narrow enough to be comfortable, with your quotes, code, and equations in place. Each note has two views: Write, where you edit, and Read, where the same text renders with typeset math, resolved links, and ticked task boxes. Both are the one plain Markdown file underneath.

Markdown, without having to memorise it

Markdown is fast and precise once you know it, and it keeps your notes portable. But asking a working scientist to learn **bold** and ## heading before they can take a note is a real barrier. So the write view is a Markdown editor with a formatting toolbar sitting above it: select some text and click B, or a heading, a list, a quote — the button inserts the real Markdown for you, and the syntax is there to see and edit. Lists continue when you press Enter and stop when you press it on an empty item, the way a word processor behaves.

Write

Toolbar or syntax

Headings, bold, italic, strikethrough, inline code, links, bullet / numbered / task lists, quotes, code blocks, dividers, and images — from the toolbar or typed by hand. Ctrl/⌘+B and Ctrl/⌘+I work too.

Read

Rendered page

Switch to Read and the note renders: headings and emphasis, wikilinks and citations resolved, math typeset, and task boxes you can tick — the change is written straight back to the file.

Because what you edit is Markdown, the file on disk is always clean Markdown: a note written here opens perfectly in any other Markdown tool, and one written elsewhere opens perfectly here.

Why this matters

The portability promise holds because the file is nothing but Markdown — no proprietary wrapper, no hidden formatting. Open your vault in any other editor and you find exactly the text you wrote.

Tasks, images, and tags

Write a checklist with - [ ] and tick the boxes straight from the reading view — the change is written back to the file. Add an image from the toolbar or by pasting or dropping it in: in the desktop app it is filed under the vault's attachments/images/ folder and shown in place, and on the web it embeds inline so the note stays self-contained. Either way it renders in the reading view and exports as a centered block, fit to the page and keeping its proportions. And every note carries tags you can add or remove above its title, alongside the #tags you write in the body.

Read while you write

The hardest part of writing about a source is keeping the source in view. A side reader opens another note, or a reference's PDF, EPUB, or article, in a column beside the editor, so you read and take notes on one page. A PDF opens as rendered pages you can scroll and zoom; an EPUB as clean, reflowable text. Right-click a passage in the reader and quote it into the open note — it lands at your cursor as a blockquote that carries the source's citation or a link back to the note — or highlight the sentence you want to remember, saved beside your vault so it is still there the next time you open the file. It is the difference between transcribing a paper and thinking with it.

Keep it in order

Notes and folders are yours to arrange. Drag a note into a folder, nest one folder inside another, or drag either up and down into the exact order you want — the arrangement is remembered and travels with the vault. Nothing here is buried in a menu you have to hunt for: right-click a note, a folder, a link, a tag, a citation, the editor, or the reading view and the actions that fit appear — open, rename, move, quote, filter, export, and the rest.

Focus mode

When you want to write rather than navigate, focus mode hides the side panels, centers the column, and dims every paragraph except the one under your cursor. It is the difference between a workspace and a desk with a single sheet of paper on it. Press Esc to leave.

Code, for the coders

Arf is built for computational researchers too, so code is a first-class citizen. Fenced blocks are highlighted per language — R, Python, bash, SQL, and the rest — but in ink rather than a rainbow: comments recede, keywords come forward, and the block reads like part of the page instead of a screenshot from an IDE.

# overlap of pointer states under dephasing
decohere <- function(rho, gamma, t) {
  off <- exp(-gamma * t)          # coherence envelope
  rho[upper.tri(rho)] <- rho[upper.tri(rho)] * off
  rho                              # diagonals untouched
}

Equations, for the mathematicians

Mathematics is written the way you already write it, in LaTeX. Inline math sits between single dollar signs and display math between double ones:

The Arf invariant of a quadratic form is
$$\mathrm{Arf}(q) = \sum_{i=1}^{n} q(a_i)\,q(b_i) \in \mathbb{F}_2$$

It renders live as you read, and the LaTeX stays in the file, so your equations travel with your notes.

Typography you control

A single control adjusts the reading experience — text size, line height, and light or dark — and the choice is remembered per device. The defaults are tuned for long reading: EB Garamond sets small, so the body runs a little larger than a sans would, with generous leading.