Arf.
The quiet machine

The on-device machine

Small, open, and it never phones home.

The reason note collections fail is rarely that capture was too hard. It is that notes pile up faster than anyone connects them, and the insight that was supposed to emerge stays buried in a heap. Arf's machine exists to fight exactly that — not to write for you, but to notice when two of your own thoughts belong together.

How it works, briefly

Turn it on and Arf fetches a small open-source language model, all-MiniLM-L6-v2 — about twenty-three megabytes, downloaded once and kept. For each note the model reads the text and produces a short list of 384 numbers that stands for the note's meaning. Notes about the same idea land close together in this space even when they share few words, which is what lets Arf notice a connection you never spelled out.

Finding related notes is then arithmetic. The closeness of two notes is the cosine of the angle between their number-lists — a value from zero to one, which is the score you see. Resonance ranks the notes nearest the one you are reading; the Synthesis digest looks for near pairs you have not linked. The model runs in the background on your own hardware, through the graphics card where there is one and the processor otherwise, and each note's numbers are cached, so nothing is recomputed until you change the text.

Until the model is downloaded, or if you never turn it on, a lighter classic method fills in from shared distinctive words — instant, but it only sees words, not meaning. The model is the upgrade that reads for sense.

The default model reads English. If you write in other languages, Settings offers a multilingual model (about 120 MB) that understands 50-plus languages, Turkish among them — so Resonance and Synthesis recognise connections across your notes whatever language you think in.

Private by construction

The model runs on your device. Your notes are never uploaded, there is no account, and there is no server that could see your text even if it wanted to. Only the public model file is fetched; the reading of your notes happens entirely on your machine. Privacy here is not a policy you have to trust; it is the architecture.

Where it shows up

The machine is deliberately quiet. It never interrupts, and it never fills a panel with noise. It appears at four moments:

While writing

A faint mark

When a paragraph resembles an older note, a small mark appears in the margin. Keep typing and it fades.

On the page

Resonance

A short list of the notes most similar to the one you are reading that you have not linked yet — each with a similarity score.

Every week

Synthesis digest

A handful of note pairs that clearly belong together but were never connected, each with one prompt: write the sentence that joins them.

Left alone

Orphan nudge

A note with no links after a while gets a gentle mark — an invitation to place it before it is forgotten.

Reading the scores

The numbers beside Resonance and Synthesis suggestions are similarity scores, from zero to one: how alike two notes are according to the model. One means nearly the same idea; higher means more related. Resonance ranks the notes most like the one you are reading; Synthesis ranks pairs that are alike but unlinked. They are drawn in iron-gall blue because that single accent marks every connection in Arf.

Honest about its limits

Two things are worth stating plainly. General text models are weak at reading source code, so fenced code blocks are set aside from the prose fingerprints rather than allowed to muddy them. And the suggestions are exactly that — suggestions. The similarity thresholds are yours to tune, and a suggestion is only ever an invitation to look, never a claim that two notes must be joined.