Local-first notes & tasks

Your in your folders,
on your devices.

Pellet is local-first, works offline, and uses open file types so that there's no lock-in. Your personal information, knowledge and action items all in one place. Stay private with no account, so there's nothing that stops working if we disappear. Level up your PKM and second brain!

v0.20.0  ·  macOS, Windows, Linux, iOS, Android
Capabilities

Different areas of the app complement each other.

They all read the same markdown files, so nothing has to sync between them. Move a due date on the calendar and the table already knows.

write

Live-preview editor

Markdown renders in place with the source still underneath. Editable tables, collapsible lists, and a format bar over any selection. Type / for headings, lists, tables and links — /date and /time insert the real value, and / glued to other text never fires, so a URL stays a URL.

How the editor works →
link

Wikilinks & backlinks

[[like this]], with autocomplete. The side panel shows what points here and where this goes. ![[note#heading]] embeds just that section, live, so you write a thing once.

Linking and embeds →
see

Graph

Every link you've written, as a map — the whole vault, or just one note's neighborhood. The simulation runs in a worker with Barnes–Hut approximation, so a few thousand notes stay interactive instead of locking the window.

Links and the graph →
plan

Table & Kanban

A real filter builder: eleven fields, and operators that fit the type — thirteen date operators including is overdue, is within next N days and is next month. Sort three levels deep, group, save it as a pill. Subtasks nest; the list virtualizes.

Filters and saved views →
schedule

Calendar & Gantt

Month, week, agenda. Drag to reschedule, click empty space to create. The timeline adds percent-complete bars, parent rollups, milestones, and finish-to-start dependencies you draw by dragging — with a warning when you draw one that can't happen.

Choosing a view →
repeat

Real recurrence

Full RRULE. BYMONTHDAY=-1 is the last day of the month; BYDAY=TU;BYSETPOS=2 is the second Tuesday. Completing one occurrence stamps a permanent file and advances the parent, and COUNT counts down as you go.

How repeats work →
arrange

Canvas & whiteboards

Spatial boards in JSON Canvas — the open format, so Obsidian opens them too. Whiteboards are the genuine Excalidraw editor over real .excalidraw files that round-trip with excalidraw.com.

Canvas and whiteboards →
read

PDF & EPUB

Read them in the app. Highlights in four colors become real notes under Highlights/ — linkable, searchable, and anchored so they survive the document being re-rendered.

Readers and highlights →
draw

Handwriting

Apple Pencil pages on iPad, stored as open JSON rather than a proprietary blob. Send one off for transcription and get an ordinary note back.

Handwriting pages →

A closer look

The same vault, seen nine different ways.

Nothing is duplicated or synced between views — they're all reading the same markdown files. Change a due date on the calendar and the table row moves too, because there's only ever one copy. These are screenshots of the real thing.

Pellet's Table view: saved filter pills across the top, a quick-add row, and a task list with type, group and tag columns showing 2,519 of 2,984 rows.

Table

Filter with real AND/OR conditions, sort three levels deep, group, and save the whole thing as a pill you click once. Subtasks nest. Edit inline without opening anything.

Pellet's Kanban board, columns driven by priority, cards carrying due dates, groups and tags, with a backlog drawer.

Kanban

As many boards as you want, columns by status, priority or group, drag between them. Cards carry badges — including a countdown when something is coming due.

Pellet's Calendar in month view, tasks laid across the grid, with the Tasks side panel on the right showing the day's events, a collapsed overdue section and three tasks with priority badges.

Calendar

Month, week, or agenda. Drag a task to reschedule it, click empty space to make one. The Tasks panel on the right rides along in every view, so the day's events and work stay visible while you write. Future occurrences of a repeating task show as ghosts.

Pellet's Graph view in File scope, showing one architecture decision note connected to nine neighboring notes, each labeled.

Graph

Every link you've written, as a map — the whole vault, or just what one note touches. The simulation runs in a worker, so a few thousand notes stay interactive.

Pellet's Vault Map: the whole vault as a treemap, rectangles sized by file count — Tasks 1,204 files and Work 1,083 the largest, down to Templates and single files.

Vault Map

What is your vault actually made of? Rectangles sized by what is in them, grouped by folder, tag, type or extension, and counted by files or by disk. Click one to go inside; click a file to open it.

Pellet's Tags explorer: nested tags with counts — home with finance, health, kids and meals beneath it, work with architecture, meetings and security — beside the file list and an open note.

Tags

Tags explorer. Write a nested tag like #work/architecture and it files itself under work, with a count beside every level. Click one to filter the list to it, or open the Map to see how lopsided your tagging really is.

Pellet's Properties explorer: every frontmatter key in the vault with its type and note count — type 2,868, created 2,861, tags 2,772 — and status expanded to show its four values, todo 622, done 480, doing 62 and skip 40, beside an open architecture note.

Properties

Every frontmatter key your vault uses, with its values and counts underneath — click a key to list the files carrying it, a value to narrow to those holding it. Give a key a type once and it means that everywhere, including the Table's columns. Rename, retype or delete one across every file from the right-click menu.

Pellet's note list in gallery mode, a grid of thumbnail tiles rendered from canvases and documents.

Gallery

Switch any listing from rows to a grid of thumbnails — generated from the real file, so a canvas looks like that canvas. One vault-wide toggle, three tile sizes.

A Pellet canvas: note cards and groups arranged spatially with connecting edges.

Canvas

Arrange cards and whole notes in space, group them, link them. Saved as JSON Canvas — the open format — so Obsidian opens them and Pellet opens Obsidian's.


Writing

An editor that stays out of the way.

Markdown renders as you type, with the source still sitting underneath where you left it. No mode switch to hunt for, no preview pane eating half the window.

  • Wikilinks and backlinks. Type [[ and pick. The right panel shows what links here and where this goes.
  • Transclusion. ![[note#heading]] pulls that section in live, so you write a thing once.
  • Tables you can edit like a spreadsheet, collapsible lists, slash commands, and a format bar that appears on selection.
  • Tabs, split panes, torn-off windows — each with its own back and forward history.
  • Voice notes. Record on your desktop or your phone, play it back inline, transcribe it into a searchable note — and turn what you agreed to into tasks that link back to the moment you said it.
  • File history. Every write is snapshotted on your machine, with a recovery screen for when you need it.
Launch plan

Ship the site first, then the signed builds. Everything about the relay lives in Sync design.

Embedded from Sync design
Peer signing keys are pinned at pairing. The relay can withhold data. It can never read or forge it.

#launch #infra/relay


Tasks

A task manager that happens to live in your notes.

Pellet started as an Obsidian plugin. This is that whole feature set, rebuilt so it no longer needs Obsidian — same file format, so an existing vault just opens.

  • Repeats, properly. Full RRULE — every other Tuesday, last Friday of the month, first weekday after the 15th. Finishing one stamps a permanent record and moves the parent forward.
  • A Gantt timeline that slides in beside the table. Drag bars to reschedule or resize, draw dependencies between them, and it tells you when you've drawn one that can't happen.
  • Notifications ten minutes ahead of timed work, at the due time, and at nine in the morning for anything all-day.
  • Your calendar, if you want it. Google, iCloud, or any ICS feed, overlaid in the calendar view. Off until you turn it on.
  • Meeting links found for you — Zoom, Meet, Teams, Webex — pulled out of the event text and put on a button.
  • Turn a task back into a note and it drops the task frontmatter, leaving everything else exactly as it was.

On a phone and iPad

The same vault in your pocket.

Not a cut-down companion app — the same core, laid out for a small screen. Tabs and split panes collapse to one document, the panes become a stack you can walk back up, and handwriting gets Apple Pencil on iPad.

Pellet on a phone: a folder's note list, with a back button to the folder tree and a bottom tab bar.
Browse
Pellet on a phone: a note open in the editor, filling the screen.
Write
Pellet on a phone: the calendar's Day view for today, with an all-day task pinned above a timed schedule.
Plan

Sync

Sync that you control!

If you want your vault on more than one device, the sync relay runs on a computer of your own — Pellet hosts it, one switch in Settings. It holds nothing but ciphertext: your devices trade keys directly with each other at pairing and pin them, so the relay is never asked to vouch for anyone.

It can refuse to hand your data over. It cannot read it, change it, or slip something in.

  • Conflicts keep both versions. The loser becomes a clearly-named copy. Sync never hard-deletes anything.
  • Lost a device? Revoking it rotates the vault key and wipes the sync relay.
Turn it on in Settings → Sync relay and pair your other devices. No server to rent, nothing to install. It syncs whenever this computer is awake — when you want it always-on, move the sync relay to a machine that always is.

AI & MCP

Let an AI agent work on your vault — on your machine only.

Pellet can open a small server on 127.0.0.1 that speaks MCP, with forty-eight tools covering your notes, tasks, boards and calendar. It never leaves the loopback interface, it takes a bearer token, and it's off until you switch it on — and when you do, you decide whether it can write at all and which folders it can even see.

Pellet is an MCP server, so the client is your choice — Claude, ChatGPT, OpenClaw, Hermes, or a script you wrote this afternoon. What they reach is a loopback port on your own machine, behind a bearer token, with the read-only switch and folder allowlist you set. Nothing is sent anywhere.
// 48 tools, grouped
tasks    list · get · create · update · delete · complete (knows about recurrence)
notes    list · get · create · update · delete · rename · list_tags
kanban   list_groups · list_kanban_boards · create_kanban_board · delete_kanban_board · move_task_to_column
search   search_vault(full text, inside note bodies) · query_tasks(overdue · this week · within N days)
more     subtasks · checklists · daily notes · templates · archive · trash · tags · attachments · canvas
calendar list · create · update · delete(Apple, Google, ICS)
// read-only mode, a folder allowlist and per-tool switches — all yours

How AI & MCP works →