omajot

Notes for Omarchy ยท and your phone

Your notes. Your hub. Everywhere.

omajot is a markdown notes app in the spirit of Apple Notes. Open it from the Omarchy bar, in a main window, or as a web app on your phone. Your own small Zig hub syncs all devices over Tailscale. No cloud account. No Dropbox. No conflicts.

Zig 0.17CRDT syncoffline firstQuickshell plugininstallable web appeverything bounded
The omajot web app with folders, the note list and a note in split view with a picture, a table and a checklist

Any computer ยท any phone

No Omarchy? No Linux? No problem.

The web app is a complete omajot client. Run the hub on a Mac, a Linux computer or Windows (experimental). Open the hub URL in a desktop browser or on your phone, and install it as an app. Your notes work offline and sync when the hub is reachable.

The Omarchy plugin is an extra for Omarchy users. It is not a requirement.

Use omajot without Omarchy

Everything a notes app needs. Nothing it does not.

Write in markdown. See the result next to it. Find any note in a second.

๐Ÿ“Markdown first

Write plain markdown. The preview shows headings, tables, code, quotes, links and images. The first line of a note is its title.

โ˜‘๏ธChecklists

Write - [ ] for a task and indent to nest it. Click the box in the preview to tick it, also in the plugin and the TUI. Press Enter to continue the list.

#Inline tags

Write #garden anywhere in a note. omajot lists all tags next to your folders.

๐Ÿ“Folders

Put notes in nested folders. Pin the notes you need often. Deleted notes go to the Trash first.

๐Ÿ–ผ๏ธPaste anything

Paste an image, a file, a web page or a LibreOffice text. omajot stores images as attachments and converts HTML to markdown.

๐Ÿ”ŽInstant search

Search titles and full text. Every device has a full copy of your notes, so search needs no network.

โœˆ๏ธOffline first

Write on the plane or in the train. omajot syncs when the network comes back. Two edits of the same note merge automatically.

๐Ÿ“ฑOn every device

The hub serves a web app for phones, tablets and desktop browsers. Scan a QR code, add it to the home screen, and it works like a native app, also offline.

๐Ÿ“ฅComing from Joplin?

Import all notebooks, notes, tags and images with one command. The dates of your notes stay the same.

In your bar

Made for Omarchy

omajot is an Omarchy shell plugin. Click the note icon in the bar to open the dropdown. Middle-click it to open the main window. Both show the same three columns: folders and tags, notes, and the editor.

Use the keyboard for everything: n new note, / search, j k move, e editor or preview, p pin.

Buttons next to the omajot name open the note in the main window, the terminal UI or the web app in a window of its own, or the QR code for your phone.

Learn to use omajot โ†’

The omajot dropdown under the note icon in the Omarchy bar, with the Welcome note in split view

In your pocket

The same notes on your phone

The hub serves a web app for iPhone, iPad and Android. It keeps a full copy of your notes in the browser. It starts offline and syncs in the background.

The note list on an iPhone
All notes, pinned first
A note with a picture and a table on an iPhone
Pictures and tables
A checklist on an iPhone
Tap to tick
Folders and tags on an iPhone
Folders and #tags

Real screenshots from Safari on iOS 26 (iPhone 17 Pro simulator), with the sample notes.

In your terminal

A TUI for the keyboard crowd

omajot tui shows the same three columns in any terminal: folders and tags, notes, and the rendered note. Changes from your other devices show up while you read.

Press e to edit the note in your $EDITOR, for example Neovim. Each save goes into the note at once and merges with changes from other devices. The mouse works too: click to select, tick a checkbox or open a link. Pictures show in terminals with the Kitty graphics protocol, such as Ghostty, Kitty and WezTerm.

Use the terminal UI โ†’

omajot tui with the Travel folder and a packing list with nested checklist items, a link and a quote

One command

Scan and go

You do not type the hub URL on your phone. Three places show it as a QR code:

  • omajot hub prints it when it starts.
  • omajot qr prints it on any computer that knows your hub.
  • The phone button in the web app and in the plugin shows it.

Point the phone camera at the code, open the link, and add omajot to the home screen. All of them use one QR encoder, written in Zig.

Set up your phone โ†’

$ omajot qr https://your-mac.your-tailnet.ts.net:8443
Open omajot on your phone:
  https://your-mac.your-tailnet.ts.net:8443
                                     
                                     
    โ–ˆโ–€โ–€โ–€โ–€โ–€โ–ˆ  โ–€โ–ˆโ–€ โ–ˆโ–€โ–„   โ–€โ–ˆ โ–ˆโ–€โ–€โ–€โ–€โ–€โ–ˆ    
    โ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆ โ–ˆโ–ˆโ–„โ–€โ–€โ–„ โ–ˆโ–ˆโ–„โ–€โ–„โ–€ โ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆ    
    โ–ˆ โ–€โ–€โ–€ โ–ˆ โ–ˆโ–€โ–„โ–€ โ–€โ–€โ–„โ–ˆ โ–ˆโ–€  โ–ˆ โ–€โ–€โ–€ โ–ˆ    
    โ–€โ–€โ–€โ–€โ–€โ–€โ–€ โ–ˆ โ–ˆ โ–ˆ โ–€โ–„โ–ˆ โ–€โ–„โ–€ โ–€โ–€โ–€โ–€โ–€โ–€โ–€    
    โ–ˆโ–„โ–ˆโ–ˆโ–€โ–€โ–€ โ–„โ–ˆโ–„โ–ˆ โ–€โ–„โ–€โ–„โ–ˆโ–„โ–„โ–ˆโ–„โ–ˆโ–€โ–ˆโ–€โ–€ โ–„    
     โ–ˆโ–„โ–€โ–„โ–ˆโ–€โ–„โ–„โ–€โ–€โ–ˆ  โ–€โ–€โ–„ โ–€ โ–ˆ โ–€ โ–„โ–„ โ–„     
    โ–ˆ โ–ˆโ–ˆโ–„โ–ˆโ–€ โ–€โ–€โ–€โ–„โ–„โ–€โ–„ โ–„โ–ˆโ–„โ–„โ–ˆโ–„โ–„โ–ˆโ–„โ–€โ–€ โ–„    
      โ–€โ–ˆ โ–€โ–€โ–€โ–„ โ–ˆโ–ˆโ–ˆ โ–€โ–€โ–„ โ–„โ–„โ–ˆ โ–€โ–ˆโ–ˆโ–€โ–€โ–„     
    โ–ˆโ–„ โ–„โ–„โ–ˆโ–€โ–„โ–ˆ โ–„โ–ˆโ–€โ–€โ–„  โ–ˆโ–„โ–ˆโ–„โ–„โ–„โ–ˆโ–„โ–€โ–ˆ โ–„    
    โ–ˆ  โ–ˆโ–„โ–„โ–€โ–€โ–€โ–„โ–ˆโ–ˆโ–„โ–€โ–„โ–€โ–€โ–€โ–„ โ–€โ–€ โ–ˆ  โ–€โ–„     
    โ–€ โ–€   โ–€ โ–„  โ–ˆโ–ˆโ–„ โ–€โ–ˆโ–€โ–„โ–ˆโ–ˆโ–€โ–€โ–€โ–ˆโ–„โ–ˆโ–ˆโ–ˆ    
    โ–ˆโ–€โ–€โ–€โ–€โ–€โ–ˆ โ–„โ–ˆโ–„ โ–ˆโ–ˆโ–€โ–ˆโ–„  โ–ˆโ–ˆ โ–€ โ–ˆโ–€โ–€      
    โ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆ โ–ˆโ–ˆโ–€  โ–„โ–€โ–€โ–ˆโ–€  โ–ˆโ–€โ–€โ–€โ–€โ–„โ–ˆโ–ˆโ–ˆ    
    โ–ˆ โ–€โ–€โ–€ โ–ˆ โ–€โ–ˆ     โ–€โ–„ โ–„โ–€โ–ˆโ–ˆโ–€โ–ˆโ–ˆโ–ˆโ–€โ–ˆ     
    โ–€โ–€โ–€โ–€โ–€โ–€โ–€ โ–€โ–€ โ–€โ–€โ–€โ–€  โ–€โ–€   โ–€  โ–€โ–€      
                                     
                                     
Your phone needs Tailscale. It is free for personal use:
  https://tailscale.com/download

How it works

A small hub in the middle. A full copy on every device.

Run omajot hub on a computer that is always on, for example a Mac mini or a small server. Tailscale connects your devices to it with real HTTPS. Every device keeps all notes and syncs changes as small operations.

๐ŸงฎA Zig CRDT

Concurrent edits merge without conflict copies. Property tests check that replicas always converge.

๐Ÿ“Everything bounded

The hub runs on baz and bounded/http. Memory, connections and request sizes have fixed limits.

๐ŸงฉOne core, native and WASM

The same Zig core runs in the desktop daemon and, compiled to a 170 KiB core.wasm, in the browser.

Read how it works โ†’