notefeed and other tools¶
notefeed borrows its model from ntfy and is often used beside the tools on this page, not instead of them. This page says what each one is for, so you can tell quickly whether notefeed is the right one.
In one sentence: a notification tool gets a short message onto a phone now; notefeed keeps a note that is still there, readable and editable, when someone opens the dashboard or the feed reader later.
The other tools are described as of October 2026 and from their own documentation. They change: check their docs before you decide.
At a glance¶
| notefeed | ntfy | Gotify | A chat webhook (Slack, Discord, Telegram) | Memos | |
|---|---|---|---|---|---|
| Made for | Notes from scripts, read later as RSS | Push notifications | Push notifications | Messages in a chat channel | Personal notes |
| Posting | curl to a feed name, no account |
curl to a topic name, no account |
An application token, made by a user | A webhook URL from the service | A user's access token |
| Reading | RSS, a web page, the API | Phone apps, web app, a stream | Android app, web app, a stream | The chat app | The web app, the API, RSS for public notes |
| Reaches a phone at once | No | Yes | Yes (Android) | Yes | No |
| RSS for dashboards and feed readers | Yes, every feed | No | No | No | Public notes of a user |
| Read access without write access | Yes, the read link | With accounts and access rules | Client and application tokens are separate | Channel membership | Per-note visibility |
| A note can be edited afterwards | Yes | No | No | By the sender, depending on the service | Yes |
| How long it stays | Until deleted | A cache of hours by default, for phones that were offline | Until deleted | The service's history | Until deleted |
| Content | Markdown and pictures | Text, optional markdown, attachments, action buttons | Text, optional markdown | The service's own format | Markdown and attachments |
| Where it is stored | .md files, SQLite or PostgreSQL |
The server's cache | The server's database | The service | The server's database |
| Self-hosted | Yes, or notefeed.me | Yes, or ntfy.sh | Yes, only | No | Yes |
ntfy¶
ntfy is what notefeed copied its model from: no accounts, a topic is a name, posting is one curl line, and the name is the secret. If you know ntfy, Concepts will read as familiar.
The difference is what happens to a message afterwards:
- ntfy delivers. A message goes to the phones and browsers subscribed to the topic, with a priority, a sound, action buttons and, if needed, an attachment. The server keeps it for a while so that a phone that was offline still gets it, and then forgets it. There is nothing to edit and no RSS: a subscriber listens to a stream or polls JSON.
- notefeed keeps. A note is a markdown document with a title, tags and pictures. It stays until someone deletes it, can be edited, has a page of its own, and every feed is an RSS feed that a dashboard or a feed reader fetches when it likes. Nothing is pushed anywhere: notefeed has no phone app and sends no notifications.
- Reading and writing are separate in notefeed. A feed's name lets you post; its read link only reads and does not reveal the name, so it can go into a dashboard's configuration or to other people. An ntfy topic name does both, unless you set up accounts and access rules.
Use ntfy when someone must know now: an alert, a failed backup at night, a door bell. Use notefeed when the text should be there later: last night's backup report on the dashboard, a changelog, a deploy log, release notes for a team.
Both together is the common set-up. A script sends the one-line alert to ntfy and the full report to notefeed, and puts the note's read-only page in the notification as its click target. That page is under the read link, so the feed's name never passes through ntfy:
page=$(curl -s -H "Content-Type: text/markdown" -H "X-Note-Title: Backup failed" \
--data-binary @report.md "$NOTEFEED_URL/$NOTEFEED_FEED" \
| jq -r '(.read_url | sub("/feed.xml$"; "")) + "/" + .id')
curl -H "Title: Backup failed" -H "Click: $page" -d "See the report" "https://ntfy.sh/$NTFY_TOPIC"
Gotify¶
Gotify is a self-hosted notification server like ntfy, with a different model: an administrator creates users, a user creates an application and posts with its token, and messages arrive in the Android app or the web UI over a WebSocket. Messages stay until they are deleted.
Compared to notefeed it is again a notification tool: no RSS, no read-only link to hand out, no editing, and nothing works without an account. Choose it over ntfy if you want accounts and tokens from the start; choose notefeed for the things under ntfy above.
A chat webhook¶
Posting to a Slack, Discord, Matrix or Telegram channel through a webhook or a bot is the usual way to see script output where people already are. It notifies, it is searchable, and people can answer.
What it does not give you: the messages live in a service you may not run, the format is that service's own, a dashboard cannot read the channel without a bot of its own, and a channel is the wrong place for a page-long report with tables and charts. notefeed takes the report; the chat message can link to it.
Memos and other note-taking apps¶
Memos, and larger tools such as Joplin Server or Trilium, are places where a person writes notes: accounts, an editor, search, tags, sometimes sharing. Memos has an API and serves a user's public notes as RSS, so it can be scripted into something close to notefeed.
notefeed is the other way round: made for scripts first, with a web UI for the occasional note by hand. There is no account to create and no token to manage, a feed exists once something posts to it, and each feed has its own RSS link. It is not a knowledge base: there is no search, no linking between notes and no folders.
An RSS file written by the script itself¶
A script can also write an RSS file and let a web server serve it. That works for one job on one machine. notefeed is what you get when several machines post, when a note needs a page, pictures or a correction afterwards, and when the feed should not be public to everyone who can reach the web server.
When notefeed is the wrong tool¶
- You need to be woken up. notefeed sends nothing. Use ntfy, Gotify or a chat webhook, alone or beside it.
- You need long-term logs or metrics. A feed holds notes for people; a log store or a time-series database holds events for queries.
- You need to know who wrote something. Notes carry no sender unless the operator switches on sign-in.
- You want a personal knowledge base. Use a note-taking app.