Saved on the phone first
New memos, edits, deletions, comments, reactions and pictures are all queued. A memo written with the radio off keeps the time it was written and uploads in order once there is a network.
queuedkeeps its own date
Features
Everything below runs on the phone. That is the whole design constraint: if a memo can only be read online, it is not really yours.
New memos, edits, deletions, comments, reactions and pictures are all queued. A memo written with the radio off keeps the time it was written and uploads in order once there is a network.
queuedkeeps its own date
Share a link, a paragraph, a photo or any file from any app and the composer opens with it already in place. The launcher's long-press menu offers a new memo and your four most-written tags, each starting the composer with #tag typed.
any apptag shortcuts
Take a photo or a video with the system camera, or record a voice memo in place. Both land in the same pending strip as a shared file, and files go up byte for byte — the app never re-encodes your data.
cameravoiceuntouched files
A new memo is stamped with your position while you write; a tap on the ✕ drops it. For the rarer note about somewhere else, a small OpenStreetMap picker lets you drag the map and place the pin. The place is a normal Memos field, shown under the date.
current positionmap pickerno Google location
A search field that is always in reach, matching content and tags — every word has to match. Search is local, so it works with the radio off and costs no request.
localcontent and tags
The menu holds every tag with its count and multiple selection, plus a date filter: today, 7 days, 30 days, this year or a range you pick. Tags and dates combine as AND. Tags inside a memo are tappable too.
multi-selectdate presetstap a tag
Pinned memos get their own section instead of pushing yesterday above today, and one local view lists the memos that still have an unchecked box.
pinnedopen tasks
Cards show rendered markdown, not a flattened preview: headings, emphasis, code, quotes and task lists all survive into the feed. A GFM table renders with its header band and its column alignment, and wraps its widest column instead of scrolling sideways.
rendered markdowntables
Tapping a checkbox rewrites the line and syncs, which is what the Memos web UI does too. In the composer, Enter carries the marker to the next line and a second Enter on an empty item ends the list.
tap to ticklists stay lists
Comment threads are mirrored with their memos, read and written in the same composer as a memo. A memo shows its emoji as chips — tap one to add or remove your own, all of it queued like any other edit.
threadsemoji chips
Time and visibility on top, the note in the middle, its tags underneath, then comment, pin, share and delete as a row you can see without discovering a gesture. A card can carry one of six paper tints from its ⋯ menu.
visible actionssix tints
Each sync copies the memos, the files behind them and the comment threads the server has, newest first, within a per-sync budget. Settings shows how far it got, and the next sync continues where the last one stopped.
filesthreadsprogress
By default a delete archives the memo on the server, so it leaves the app and stays recoverable in the Memos web UI. A setting switches it to a permanent delete, and the choice is captured per memo when you delete it.
archive by defaultreal undo
Sync runs on launch, on resume, on pull-to-refresh, right after a save and every six hours in the background. A local edit is never overwritten by the server's copy until it has been pushed.
background synclocal wins