Vitrine
A research workspace
Built around the question, not the note.
Most tools let you store what you have read. Almost none let you track what you still want to know, where the wondering came from, and whether you ever resolved it. Vitrine makes the question a first-class object with its own lifecycle, fed by what you read and what your agents find.
Design complete · in development · no release yet
The spine
A question has a lifecycle.
Capture is two keystrokes from anywhere and records its provenance without asking: what you were reading or doing, the page, the date. A question that occurred to you on page 7 of something you were reading three weeks ago is a different object from a line in a notebook.
Most questions stay open indefinitely, and that is expected. Age is a sortable fact, never a warning. Nothing counts what you have not answered. When a question is worth pursuing, it is promoted along one of two paths.
- Answered by reading Research Question
- A working answer, supporting and opposing sources kept structurally apart, and a position history that reads as changing your mind rather than as a diff.
- Answered by testing Hypothesis
- Criteria recorded before the evidence arrives. State is derived from them, never chosen from a menu. Falsified is a result, not a failure, and it answers the question with a real answer: no.
Two inputs
Fed by what you read and what your Scouts find.
- Reading Reader
- Highlights and margin notes live in the PDF as standard annotation objects, so any PDF tool can read them and a note can link to one specific passage. Annotate on an iPad in Preview; the app ingests what comes back and asks about anything it could not re-match rather than dropping it.
- Scouts Scout Queue
- Scheduled agents that each watch one source, a lab's publications page, a feed, or a literature API, and propose what they find as metadata cards: no model-written summary, no download. Everything a Scout finds is a proposal. Nothing enters the vault without your acceptance.
Non-negotiable
What it promises.
- Local-first. The vault is plain Markdown on disk, and this app is not the only way to read it. The only thing that syncs is the PDF folder.
- Annotations live in the PDF. Standard annotation objects in the file, not rows in a database beside it.
- Your own API keys. No credentials leave the device except to the provider you configured.
- Agent output is always a proposal. Nothing an agent finds is written until you accept it.
- No badges, no overdue states, no total counts. Curiosity is not debt.
- State is derived, never declared. A hypothesis is supported, falsified, or inconclusive because its criteria say so.
- No silent failures. An unmatched annotation asks for a decision, and a broken Scout never looks like a quiet field.
- No force-directed graph. A sorted matrix, a labeled scatter, ranked lists.
Eight surfaces, three dashboards
Every one drawn before a line of code.
Each was designed from a prompt written to stand alone, and each is pinned in the repository as frozen reference. They are all live in the gallery.
- Loose Ends
- What is incomplete or broken?
- Scout Activity
- Are the agents earning their keep?
- Question Map
- Where is my work thin?