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.16CRDT 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. Click the box in the preview to tick it. 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.

Learn to use omajot โ†’

The omajot dropdown under the note icon in the Omarchy bar, with the Groceries checklist 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. Pictures show in terminals with the Kitty graphics protocol, such as Ghostty, Kitty and WezTerm.

Use the terminal UI โ†’

omajot tui in Ghostty with folders and tags, the note list, and a note with a picture, a table and a checklist

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 199 KiB core.wasm, in the browser.

Read how it works โ†’