The Problem
I take a lot of notes. Technical documentation, project planning, random ideas at 2am - all of it goes into whatever note-taking app I'm using at the time. And over the years, I've used most of them.
Evernote worked for me for years. Over time it became heavier, and its pricing and product direction kept changing. I stopped feeling comfortable making it the only home for information I wanted to keep.
In between, I tried a lot of others - Joplin, Standard Notes, Simplenote, Notion, Anytype, Notejoy, NimbusNotes, you name it. Each one got something right but missed something else. Too slow, too bloated, weird sync issues, locked-in formats, or just not pleasant to use day-to-day.
Then I found UpNote. Clean UI, fast, just works. Honestly, I loved it. But there was one problem: your data lives in Google Firebase. Your notes, on someone else's cloud, tied to a proprietary format. For a privacy-focused person running Linux, that's a dealbreaker.
The Obsidian Detour
So I tried Obsidian. Local files, Markdown, ownership of your data - the philosophy made sense to me. But I spent more time adjusting the app than writing in it, and eventually I stopped reaching for it.
Obsidian is powerful if you spend time configuring plugins, learning hotkeys, and tweaking CSS. But I don't want a hobby. I want to open an app, write something down, and close it. The default experience without plugins felt incomplete, and with plugins it felt like maintaining a side project.
What I Actually Wanted
It turned out to be pretty simple:
- UpNote's clean, intuitive UI
- Obsidian's philosophy - local
.mdfiles, no cloud, no lock-in - A lightweight desktop app that is not built on Electron
- Open source, so you can verify what it does with your data
That app didn't exist. So I built it.
The Stack
I went with Rust + Tauri 2.0 for the backend instead of Electron. It produces a small native desktop app and, in my day-to-day use, keeps the memory footprint low enough to leave HelixNotes open all day without thinking about it.
The frontend is SvelteKit + TailwindCSS, with TipTap v3 as the editor. TipTap gives you a rich WYSIWYG markdown experience - formatting toolbar, slash commands, and a source mode toggle for when you want to see the raw markdown.
Search is powered by Tantivy, a Rust-native full-text search engine. The index stays on your machine and keeps searches quick, even as a vault grows.
Your notes are plain .md files on your filesystem. Notebooks
are folders. Metadata lives in frontmatter. That's it. No proprietary
database, no SQLite blob, no format you can't read with cat.
Sync Without Lock-in
There's no HelixNotes cloud and no account. That's by design: I don't want to be the company holding your notes.
Because your notes are just files in a folder, you can sync them with whatever you already use - Nextcloud, Syncthing, Dropbox, rsync, Git, or nothing at all. The app watches the filesystem for external changes and picks them up automatically.
If you'd rather the app handle it, there's optional WebDAV sync to your own server now too. Either way, I'm not going to tell you where to put your files. That's your decision.
Open Source, AGPL-3.0
HelixNotes is licensed under AGPL-3.0 and hosted on Codeberg.
AGPL means anyone can use, modify, and distribute the code. But if someone modifies it and runs it as a service, they have to share their changes. It protects the project from proprietary forks while keeping everything open.
Who It's For
HelixNotes is for people who want a comfortable rich editor while keeping their notes as ordinary files. It favors useful defaults over plugin hunting, and personal control over a hosted account.
It is not trying to replace a team wiki or a real-time collaboration workspace. There is no HelixNotes cloud, and I do not want the project to become the company holding everyone's notes.
It is available on Linux (AppImage, APT, AUR), Windows, macOS, and Android. It is free, open source, and does not require an account.
I built HelixNotes because I needed it. Turns out other people did too. If you've been looking for the same thing, give it a try.
I built the notes app I wanted to use.
Try HelixNotes, or inspect the source first.