Capture

Master the rich text editor, markdown shortcuts, slash commands, todo chips, math, images, attachments, AI editing, and more.

The editor

The fastest path from a thought in your head to text on screen — without losing the structure when you need it.

Markdown shortcuts work as you type, so # is a heading and **bold** is bold the moment you finish typing. Slash commands cover everything markdown can’t reach: code blocks with highlighting, KaTeX math, images, tables, inline todo chips. Selecting text reveals a floating menu for formatting, AI rewrites, and converting your selection into a structured task in one click. Auto-save runs every few seconds — there is no save button.

Built on TipTap, but you don’t have to care about that.

Markdown shortcuts

The editor converts markdown syntax as you type — no mode switching needed:

Type thisGet this
# HeadingHeading 1
## HeadingHeading 2
### HeadingHeading 3
#### HeadingHeading 4
**bold**bold text
*italic*italic text
==marked==A marker highlight
- itemBullet list
1. itemNumbered list
[]Inline todo chip
[[Link to another note
`code`Inline code
---Horizontal rule
> quoteBlockquote
```Code block

Slash commands

Type / anywhere in the editor and the floating toolbar switches to insert mode — the same compact bar you get when you select text, now showing block actions instead of formatting ones. A line under the buttons names the one that is lit — Columns · Two blocks side by side — so you never have to guess a glyph. Keep typing to filter it down (/tab leaves just the table button), use Tab or the arrow keys to move along, ↵ to insert, and esc to dismiss. If nothing matches what you typed, the bar gets out of the way and you carry on writing.

  • /image — upload or paste an image
  • /file — keep a PDF, Word doc, Markdown or text file in the note as a file card
  • /code — insert a code block with syntax highlighting (dozens of languages supported)
  • /math — LaTeX math block, rendered with KaTeX
  • /diagram — Mermaid diagram, rendered live in the note
  • /table — insert an editable table with header row
  • /todo — insert a task list
  • /divider — horizontal rule
  • /callout and /toggle — a boxed note, tip or warning; a toggle folds away
  • /columns — two blocks side by side
  • /margin — a note beside the text
  • /video — paste a YouTube, Vimeo or Loom link and it plays in the note
  • /ai — write or continue with AI at the cursor
  • /widget — describe something interactive and the AI builds it as a live block

Math support

CoachKeeper supports LaTeX math for students, researchers, and anyone working with formulas:

  • Inline math — wrap with $, like $x^2 + y^2 = z^2$
  • Block math — wrap with $$ or use the /math slash command for a dedicated math block

Rendered beautifully with KaTeX, right in your notes.

Code blocks

Insert a code block with ``` or the /code slash command. The editor provides syntax highlighting for dozens of languages: Python, JavaScript, TypeScript, Go, Rust, SQL, and many more. Hover a block to pick its language or Copy it in one click.

Marker

Select text and pick the marker in the floating menu (on a phone, in the bar above the keyboard): a highlighter stroke in yellow, green, blue, pink or purple. A tap marks in your last ink; the small arrow beside it opens the others. You can also type ==like this==. In markdown a marker is ==text==, and =={green}text== for a color — so agents mark text the same way you do.

Callouts and toggles

Type /callout for a boxed note, tip, idea, warning, danger or quote — click its icon to change the kind, and give it a title. Type /toggle for a section that folds away: put the detail a reader may skip inside, and fold it. Whether a toggle is open or folded is saved with the note.

Two kinds do more than look good: a Claim (something you concluded) and a Question (something you want to be able to answer). A note that holds one joins your recall deck, and Today asks you about it later.

In markdown they are written like on GitHub and Obsidian: > [!tip] Title, and > [!note]- Title for one that starts folded. A claim is > [!claim], a question > [!question].

Columns and margin notes

/columns sets two blocks side by side (they stack on a phone). /margin adds a margin note — a thought beside the text. On a wide screen it sits in the margin, next to the paragraph it belongs to; on a phone it reads as an aside.

Live widgets

Type /widget and say what you want — a slider that draws a tide curve, a tip calculator, a countdown to Friday. The AI writes a block that runs: a small page of HTML, CSS and JavaScript inside the note. Press ↵ to keep it or esc to throw it away. Reading the note shows only the running block; Source opens its code if you want to change it, and it runs again a moment after you stop typing.

You never have to write the code. If you like to, a code block fenced as ```html runs the same way, and an agent connected over MCP can write one too.

A live block is sealed off: it cannot see the rest of the app, your other notes, your login or the network. It can load scripts and styles from the public CDNs (jsdelivr, cdnjs, unpkg), and it gets your theme’s colors and fonts as CSS variables (--ck-text, --ck-accent, --ck-font…), so it looks at home in light and dark.

Diagrams

Fence a code block with ```mermaid — or use the /diagram slash command — and it renders as a live Mermaid diagram right in the note: flowcharts, sequence diagrams, state charts, and the rest of Mermaid’s catalog. Reading a note shows just the diagram; click it to reveal the source, with a live preview that re-renders as you type. Invalid syntax never leaves a hole in the note — the block falls back to the source with the parse error beneath it.

Diagrams follow your theme, render in notebooks and PDF exports, and show up scaled-down in the note previews on todo cards. Because a diagram is stored as an ordinary markdown code fence, agents can draw them too — through chat or MCP — and they round-trip cleanly when a note is read back as markdown.

Tables

Insert tables with the /table command. Tables are scrollable when they exceed the editor width, and include a header row for structure. Edit cells directly by clicking into them.

Images

You can add images three ways:

  1. Paste — copy an image and paste directly into the editor
  2. Drag and drop — drag image files from your desktop
  3. Slash command — type /image and select a file

Once inserted, drag the corners of any image to resize it to the size you need. Images are uploaded to your server and stored securely.

Paste a URL into the editor and it renders as a rich preview card with the page’s title, description, and image — pulled from Open Graph metadata. A quick way to save references without breaking your flow.

A YouTube, Vimeo or Loom link pasted on its own line becomes a player inside the note right away — or type /video and paste the link. It is saved that way, so it stays a player on every device. A link card for a video also has Play here.

Files in a note

A file lives in your note right where you talk about it. Drag a PDF, Word doc, Markdown or text file onto the editor — or paste it, or type /file — and it lands as a file card at that spot, uploading while you keep writing. Images still embed inline as pictures.

Each card shows the file’s type and size, and gives you three things:

  • Open — the file opens in the built-in viewer, beside your note on desktop
  • Ask — the file goes into the chat’s context and the chat opens next to the note, so you can ask about the document while you write about it
  • Show — reads the file right in the page: a PDF opens as a page-by-page reader with zoom and selectable text (on iPhone too), an image shows at full width. Card folds it back.
  • × — removes the card from the note; the file stays in your Library

Cards move like any other block — drag one to where it belongs. The assistant and any agent connected via MCP see the cards too: when they read the note they find each file and can open its text, and when they write a note they can put a file from your library into it.

Page frames

A note can wear a frame — the page it is printed on. Open Page (the page icon in the bar above the note; on a phone, ⋯ → Page) and pick one:

  • Folio — a working-notebook page: warm paper, serif type, a red initial, and margin notes set in the margin like glosses
  • Diary — a dated page: the day set large beside a notebook sheet, headings in a hand
  • Plain — the note as it always was

A frame changes the page, never the words: you keep editing the same text, and agents read and write it exactly as before. Ask your agent to design a frame for you — a lab log, a letter, a travel journal — and it appears in the same menu. Frames follow light and dark mode.

Inline todo chips

Type [] to insert a todo chip — an inline reference to a task, embedded right in your text. The chip shows the task’s live status and checklist progress, and an arrow button on it opens the task in its own tab. This is how notes and tasks stay connected without leaving the editor.

When you’re ready, promote a chip to your full task list with one click. The original note stays linked as context.

Note mentions

Type [[ to link to another note without leaving the keyboard. A Link to note picker opens at your cursor — keep typing to filter your notes by title (spaces allowed), then press Enter to insert the mention. Typing ]] commits the top match, wikilink-style.

Mentions render as inline chips that show the note’s current title — rename the note and every chip updates. Click a chip to jump straight to that note.

If no note matches what you typed, the picker offers Create ”…” — the note is created on the spot and linked immediately. Linking to a note you haven’t written yet is half the point: sketch the structure first, fill in the notes later.

The daily note

Today’s daily note — the sun button next to New note in the notes bar — opens the day’s note, or makes it when the day has none yet. Its title is the date, it carries the daily tag, and it starts with two headings: Focus and Notes. The evening close on Today writes your line into it.

The notes list

The list beside the editor is more than a feed — it has a View menu (the sliders icon in the toolbar) with two axes:

  • Sort — Recently updated (the default), Recently added, Title A → Z, or Title Z → A. Books sort by the newest edit anywhere inside them, so a notebook whose pages you just worked on stays at the top. Re-sorting animates rows to their new places instead of snapping.
  • Group by — Date (the default), Tag, or None. Date headers follow the active sort — under a title sort they become letter buckets, an alphabetical index of your notes. Group by Tag and the list splits into collapsible sections, one per tag, each header carrying the tag’s colour, name, and count — the timeline’s rail takes the tag’s colour too, so each section reads as its own spine. A note with several tags appears under each of them; untagged notes gather in an Untagged group at the end.

Group headers are click-to-collapse, and collapsed tag or letter groups are remembered on this device. Clicking a tag chip on any row filters the list to that tag — the toolbar filter and the tab title follow along, and clearing the filter from either place clears it everywhere.

There is no cap on the list: every note loads, and the list draws them as you scroll, so a workspace of thousands of notes sorts and groups as a whole.

Notebooks

Polished notes eventually want to be read together. Drag one note onto another in the notes list and the two bind into a notebook — an ordered collection you read as a book, named after the note you dropped onto. Drop further notes onto the book to add pages; a note belongs to one notebook at a time, so adding it elsewhere moves it.

Binding by dragging is a pointer gesture, so it lives on desktop; on a phone, ask the assistant — “put these two notes into a notebook” — and it does the same thing.

Nothing is copied or swallowed. A page is still an ordinary note: individually editable, with its own tags, mentions, and backlinks. It simply stops appearing loose in the timeline and lives under its book instead — the book row carries a small book icon and its page count.

Reading and editing

Click the book and it opens where a note would, in the same list and the same editor:

  • It opens on page one. There’s no cover page to click past — the expanded list already is the table of contents, so a book behaves like the notes it’s made of.
  • The list becomes the table of contents. Pages expand under the book row; each page twists open to reveal its headings, nested by level like a file tree, and every heading jumps the editor straight to it. The page you’re reading opens to its top level automatically — everything else stays folded, so a long document never buries the rest of the book. What you leave open is remembered.
  • Rename it in place. The book’s title is editable from the book bar above the page.
  • Pages open in the normal editor. Everything on this page works exactly as it does in a standalone note, auto-save included.
  • Moving through it. Page by page with the arrows in the book bar, the edge arrows, a swipe on touch, or ←/→ when your cursor isn’t in the text.

Getting a book out again

Download as markdown — from the book row or the book bar — compiles the whole notebook into one file: title, description, then each page in reading order separated by rules. A page can also be opened as a standalone note at any time from the book bar.

A notebook can also carry a description — a line saying what belongs in it and when it should be read. It shows as the preview on the book’s row, leads the markdown export, and is how your AI assistant decides which book a new note belongs in. Set it by asking the assistant (“describe this notebook as…”); the app itself only edits the title.

Dissolving a notebook (the trash button on its row) removes only the book. Every page survives and returns to the timeline as a loose note.

Notebooks also gather on their own shelf in the Library, and your AI assistant can list, read, build, and reorder them — see AI Assistant.

Referenced by

Links work in both directions. Below the editor, notes and todos show a collapsible Referenced by panel whenever something points at them:

  • A note is referenced by other notes that mention it and by todos that use it as context.
  • A todo is referenced by notes that link to it and by calendar events that schedule it.

Each entry shows its type, title, tag color, and date — and, for a note that links here, what it says around the link, so you see why it points at you without opening it. Click one to open it. The panel simply doesn’t appear when nothing references the item, so it never adds noise.

Under the note

Below a note, the garden gives back what you put in:

  • Mentioned, not linked — other notes that name this one by its title without linking it. Each shows its sentence with the name marked, and Link turns that mention into a real link in one click.
  • Ask me about this later — star the note into your recall deck, and Today asks you a question about it at widening intervals. Click it again to take it out.

Nothing here calls an AI when you open the note: the mentions are a plain text match on the title.

Note-to-Action extraction

Select any text in a note and click the sparkle button in the floating menu. The AI analyzes your selection and extracts actionable items, creating structured todos with titles, checklists, and time estimates.

You can create them as separate tasks or as subtasks of a single todo. This is one of the fastest ways to go from raw meeting notes or brainstorms to organized work.

Bubble menu

Select any text to reveal the floating bubble menu:

  • Bold, italic, strikethrough, code, link, highlight
  • Convert to Todo — turns your selection into a structured task
  • AI Edit — give an instruction and the AI rewrites your selection with a preview diff

AI editing

Select text, click the AI button, and describe what you want:

  • “Make this more concise”
  • “Translate to a formal tone”
  • “Summarize in three bullet points”

The AI shows a preview with the changes highlighted. Accept to apply, or discard to keep the original. You can also ask the AI in the chat sidebar to summarize or rewrite an entire note.

Auto-save

Your work saves automatically every few seconds. A subtle indicator shows when changes are saved. No save button, no lost work.

Clear a note down to nothing and it cleans up after you: leave it empty and it’s removed once you navigate away, with an Undo toast if you didn’t mean it. A blank draft never gets saved as a note in the first place — no title-only ghosts cluttering your list.

Version history

Every note keeps a history of what it looked like before each change — written on the server for every writer, so it covers your own edits, auto-save, and the AI coach or a connected MCP client writing into your note. Open it from the clock icon in the note’s control bar (on mobile, More actions → Version history).

Each entry shows when it was taken and who displaced that content: you, agent, mcp, or restored. Click an entry to preview it; Restore this version puts it back into the editor. Restoring is itself a change, so the text you had a moment ago becomes the newest version — there is always a way back.

Snapshots are sensible about noise: a continuous editing session by you is kept as one version (the content from before the session began), but a change made by the agent, by an MCP client, or by a restore always gets its own entry, however soon it follows your last edit.

History thins out instead of stopping: every version from the last day is kept, then one per hour for a week, one per day for three months, and one per week after that — and the newest ten always stay. What an agent replaced is kept whole for 30 days, so its run can always be discarded. A note you edit every day keeps months of history.

Editor tools

A few toolbar controls, available in Note mode, help you navigate and work in longer documents:

  • Outline — the outline button opens a popover listing every heading (H1–H4) in the note. Click any entry to jump straight to it and place your cursor there. The list updates live as you edit while the popover is open, so it always reflects the current document. If the note has no headings yet, it just tells you to add some.
  • Find & replace — press Cmd/Ctrl + F while the editor is focused to open the find bar (Note mode only). Type a search term to see a live match count and jump between matches with the arrow buttons or Enter (Shift + Enter for the previous match). Click the replace icon to reveal a replace field: Replace swaps the current match, All swaps every match in the note. Escape closes the bar.

Export

Download any note from the export menu:

  • PDF — formatted for printing or sharing
  • Markdown — the note as one .md file
  • Note + files (zip) — the note as markdown with the PDFs, documents and pictures it holds, its links already pointing at them, plus its exact document as JSON

Everything at once is in Settings → Data & Privacy → Download my data — see Import & Export. Coming from Obsidian, Logseq, Bear or Notion? The same page covers bringing a whole vault in.

Your notes stay portable because they are markdown. A marker is ==text==, a callout is > [!note], columns are ::: columns, a math formula is $x$, a widget is a ```html block — readable in any editor, and most of it renders in Obsidian as it is. The app stores each note as its exact editor document, and an export carries both: the markdown to read, the document to restore from.

Tips

  • Write first, organize later. The editor is for thinking. Use Quick Capture or the Organize tab when you’re ready to structure things.
  • Use [] liberally. Inline todo chips let you capture action items without breaking your writing flow. Process them later.
  • Use [[ to build a web, not a pile. Mention related notes as you write and the Referenced by panel turns your notes into a navigable knowledge graph for free.
  • Try the sparkle button. After a meeting or brainstorm, select your notes and let the AI extract the tasks for you.