Self-hosted · Open source · one container

Thoughts have branches.

MindSift is an outliner: every thought is a bullet, every bullet can hold sub-bullets, as deep as you like. You collapse branches, zoom into one and write together with others at the same time, without overwriting each other.

1Starting in a moment …
Live
ME

Enter new bullet Tab / ⇧ Tab indent & outdent / commands Alt ⇧ ↑↓ move Click on • to zoom

The workspace

A document is a page.
An outliner is a tree.

Structure emerges as you write, not before. What belongs together, you indent. What you don’t care about right now, you fold away. And when a branch grows too big, it simply becomes a note of its own.

Zoom in

One click on a bullet hides everything else: only this branch remains, and the breadcrumb bar at the top leads back. A note with 500 bullets feels like one with ten.

Slash commands

/todo, /h1–/h3, /code, /callout, /link, /image, /audio, /diktat: every bullet becomes what it should be, without your hands leaving the keyboard.

Links & backlinks

With [[Note]] you connect thoughts across the whole workspace. Below every note you see who points to it, and one click jumps straight to the bullet.

Hashtags that gather

Write #backup anywhere. MindSift collects every occurrence on a tag page of its own, grouped by note, with room for your own thoughts on it.

To-dos from every note

Check boxes stay in their context and still end up collected in one overview. If you want, a to-do becomes a proper task with a due date, synced both ways.

Extract branches, merge notes

/extract turns a branch and its sub-bullets into a note of its own and leaves a link behind. The other way round, drag one note onto another and the two become one. Both can be undone.

Journal with calendar Drag & drop whole branches Images & voice notes Dictation with your own Whisper Link previews Full-text search with Ctrl K Undo across 200 steps Folders & favourites Markdown export for Obsidian Obsidian import

Try it in the demo ↗

Zoom

Five levels deep.
And you only see what matters.

Notes grow. Instead of scrolling, you click a bullet: everything else disappears, and this branch becomes the whole page. The breadcrumb bar shows where you are, one click on it takes you back.

Zoom in yourself in the demo ↗

Paste

Text in, tree done.

Paste an outline from an email, a chat or a Markdown file: headings, lists, indentation and check boxes become real bullets you can collapse, move and zoom into.

Paste in the demo ↗

Collaboration

One big document.
Everyone in their own branch.

Ben has zoomed into his part of the test setup, Anna has the whole document open. Whoever writes in a bullet holds it for a moment. Everyone else sees a lock with a name and keeps working, live.

BEBen on his laptopLive
📡 Weather station › Radio & powerzoomed in

Radio & power

ANAnna in the workshopLive
📡 Weather station

📡 Weather station – test setup

Try it with two people in the demo ↗

01

One lock per bullet

Not the whole note is blocked, only the one bullet someone is typing in. Everything else stays free.

02

Conflict copy, not data loss

If two people did change the same bullet, say because one was offline, a marked copy appears with “Accept” or “Discard”. Nothing is ever silently overwritten.

03

Offline first

Every change lands in the browser first and then goes to the server. Without a connection you just keep writing, the rest is sent later.

04

Works behind any proxy

If a corporate proxy blocks WebSockets, MindSift takes the next route:

WebSocketSSELong pollingevery 3 s

Finding things

Hundreds of bullets.
The one you need, instantly.

Search across everything

Ctrl K searches titles and every single bullet in all notes, tasks and lists, shared ones included. A hit opens the note right at the matching bullet.

Tasks

A check box in the note.
A card on the board.

One click turns any to-do in a note into a proper task with a due date, a priority and a place on the Kanban board. It stays connected to its check box: check mark, title and subtasks sync both ways.

📝NoteHomelab 2.0 › Checklist

Moving checklist

✅TasksList Homelab · Kanban

Try tasks in the demo ↗

01

Both ways

Check off, rename, add subtasks: whatever you change in the note shows up in the task, and the other way round. “Open in note” jumps straight to the check box.

02

From task to note

If a task turns out bigger than expected, “Expand into note” makes a note out of it, with the subtasks as check boxes. The task stays on the board and connected to the note.

03

All to-dos in one place

Even check boxes that aren’t tasks of their own are gathered from every note in the to-do overview, filterable by folder. Checking one off there checks it off in the note.

04

Due dates that speak up

Recurring tasks, alarms when something is due and a daily summary by email, Discord, your own webhook or push.

Speak instead of typing

Dictate without your voice leaving the server.

Put a Whisper container next to MindSift, and speech recognition runs on your own hardware. No Google, no Apple, no Microsoft in between, just a free Whisper model in your network.

  • /diktat turns a bullet into a microphone. You speak, the text grows live and lands in the bullet.
  • Hold plus on your phone: speak, let go, and the thought is in Quick Dump.
  • /audio attaches voice notes to a note. Transcribing them takes one tap, later too.

🌱 Garden 2027

Potatoes in sacks again, worked well

00:00Stop
🎙Phone or browser
→
Your server
MindSift
⇄
Whisper

Google · Apple · Microsoft not involved

01

Only text comes back

MindSift passes the recording on to your Whisper server and gets the text back. The recording itself is neither stored nor logged along the way.

02

One block in the compose file

Uncomment the prepared whisper block, set STT_URL, done. MindSift downloads the model itself on first start.

03

Fast or accurate

faster-whisper-small needs about 1 GB of RAM, large-v3-turbo about 2 GB and recognises better. Runs on the CPU, no graphics card needed.

04

Your call

Without your own Whisper, MindSift uses the browser’s speech recognition. That’s convenient, but the recording then goes to Google, Microsoft or Apple.

AI assistants

Your AI. A local one, if you like.

MindSift speaks MCP, the common language of AI assistants. Any AI that speaks it can read your tasks, create new ones, check them off, keep lists and, if you allow it, notes too. If the model runs on your own hardware, nothing leaves your network. Claude and ChatGPT work just as well, of course.

🤖Local modelon your server
🧠MindSiftLive
Due today
Groceries

01

Any AI that speaks MCP

Claude Code, Codex, Claude Desktop, Cursor or your own agent with a model running at your place. claude.ai and ChatGPT connect by signing in, no key needed.

02

Permissions per key

Every connection gets only what it needs: read, create or change tasks or lists, fill the inbox. Each one can be switched on its own, and MCP can be turned off entirely.

03

Notes only if you want

Notes are a permission of their own, with reading and creating kept apart. An AI may then write new notes, but never rewrite your existing ones.

04

Visible who did what

Whatever an AI creates or changes carries a permanent badge with the name of its key. With a timestamp, in case you want to know exactly.

Quick Dump & Triage

For the little things in between.

Milk, the dentist, that thing with the router that came to you while cooking: into the input bar it goes, typed or spoken, without thinking about where. Later you go through the stack card by card. Most of it gets thrown out, some becomes a task, and if you learned something, a note.

🗂️Triage
⚡ Collected today

Try triage in the demo ↗

The app around it

Notes are the centre.
Everything else is right there.

Tasks with Kanban, shared shopping lists, a journal and an input bar for whatever comes to mind on the go. On the computer and as an app on your phone.

MindSift workspace with an outliner note about the homelab move

Workspace

Folders and favourites on the left, the note on the right. Headings, callouts, checklists and code all sit as bullets in the same tree.

  • Share notes and whole folders, as editor or reader
  • Hashtags in the sidebar, with counts
  • Trash with restore

Look

Five colour families, each light and dark.

Classic, Fjord, Terracotta, Polarized and Suri. Plus round or square corners and an accent colour of your own, set per device.

Fjord theme, light and dark
Fjordlight / dark
Terracotta theme, light and dark
Terracottalight / dark
Polarized theme, light and dark
Polarizedlight / dark
Suri theme, light and dark
Surilight / dark

No lock-in.

The whole workspace goes out as an Obsidian-compatible Markdown archive, with folders, check boxes and attachments. An Obsidian vault comes in just the same, with a preview of what will be created first.

Self-hosting

Your server.
Your data.

One container

Web server, API, interface and database in one image. No Postgres, no Redis, no zoo.

One SQLite file

All content lives in one file, images and voice notes next to it. Backup means: copy a folder.

No telemetry

No third-party services, fonts and icons are bundled. Speech recognition, if you want it, with your own Whisper container.

Leave any time

The whole workspace as an Obsidian-compatible Markdown archive. And you can come in from Obsidian just the same.

# creates ./mindsift, generates a JWT_SECRET and starts the container
curl -fsSL https://raw.githubusercontent.com/mindsift-app/mindsift/dev/install.sh | bash

MindSift then runs on http://localhost:8080. All settings are in .env, each with an explanation.

Try it

The real app, no installation.

Everything is unlocked on the demo instance: workspace, tasks, lists, triage. Signing in takes one click, without a username or password.

Tip: Open the demo twice side by side, once normally and once in a private window with the other account. Then open the shared note and write in both windows at the same time.

Open the demo ↗ The demo resets every 20 minutes.