obi

self-hosted · works offline · plain files

Scribble outside the lines.

Your notes are plain .md files. Everything you draw lives beside them and moves when the text does — and your plans are markdown too: boards, tasks and a calendar, in the same folder.

A note in Obi: text with highlights and a code block, a sticky note and shapes joined by arrows on the canvas beside it, an image with a handwritten caption, and a calendar panel

01 canvas

Think beside your words

Everything you draw is anchored to a line of text. Add a paragraph above and the sticky note moves down with it; reword a sentence and the arrow still points at it. The markdown file never changes.

Pen, shapes, highlights

Sketch in the margin, box a paragraph, highlight a phrase — right next to the text it's about.

Arrows that follow the text

Point from a phrase to a note you left yourself. Edit the sentence and the arrow keeps up.

Whole whiteboards

When a margin isn't enough: boards are files too, on their own or embedded in a note.

A whiteboard in Obi with three labelled boxes joined by arrows and a sticky note

02 plan

Plans that are still just markdown

A board is a note: headings are lists, task lines are cards. Drag a card and the file changes — open it anywhere else and it's a tidy checklist.

Boards, the Trello way

Coloured labels, covers, due dates, checklists and priorities. Rules move a card when it's done or due, and a tick gets a little celebration.

Every task in one place

All tasks from every note and board, a calendar to drag them onto a day, a plan for what's next, and repeats that come back on their own.

Linked to your notes

Type [[ in a card or a task to link a note or a board; links in notes reach boards just the same.

A project board in Obi with To do, Doing and Review lists: cards with coloured labels, covers, due dates, a checklist count and priority flags, over a purple and orange background
The calendar in Obi: a month of tasks from every board, with today's tasks listed beside it

One file per board, in your Projects folder. The calendar and All tasks read every note and board in the workspace.

03 writing

Rendered as you type

No preview pane to keep in sync, and nothing proprietary to export your way out of later.

Plain files

One note, one .md file. Tables, code and maths take shape while you write; the markdown is there the moment you need it.

Pick up where you left off

Mark your place in a long note and it's waiting next time, on any device. Find in a note walks you through every match.

Links, tags, graph

Wiki links and backlinks, daily notes, tags, and a graph of how it all connects. Make it yours with a background of your own.

04 sharing

Alone, or with other people

The same notes, shared as far as you want them to go.

Live, together

Share a note or a whole workspace. Edits and cursors arrive as they happen.

Publish a link

A read-only page that looks exactly like your note, drawings included, and updates when you edit — even from a GitHub workspace.

History and trash

Earlier versions are kept as you write; deleted notes wait in the trash.

05 desktop

Works with no connection

Every workspace is a folder you choose — a new one, or one that already holds notes. An Obsidian vault works as it is.

  • Write offline; it catches up when you're back
  • Edits on both sides merge; collisions keep both copies
  • Optional GitHub sync — on save, on a timer, or by hand, signed with your own git name and email
first launch

windows isn't code-signed yet: if it says it “protected your PC”, choose More info → Run anyway.

macos isn't from the App Store: open it once from System Settings → Privacy & Security → Open Anyway.

linux AppImage: make it executable and run it. The .deb: sudo apt install ./Obi-Setup-*.deb

The desktop app asking where your notes should live: sync with an Obi account, or keep everything on this computer

06 self-host

One container, one folder

Your notes sit on your own disk as markdown — or in a private GitHub repo, which Obi keeps in step and commits to as you. The database only remembers who you are and what you shared.

services:
  obi:
    image: obi
    environment:
      APP_SECRET: <a long random string>
      PUBLIC_URL: https://notes.example.com
    volumes:
      - obi-data:/data
    ports:
      - "3000:3000"

Start with one note

You can take them all out again whenever you like. They were only ever files.