DEV Community

Cover image for I wanted my notes to be plain files, so I built a small Windows notes app (no Electron)
Oleg Che
Oleg Che

Posted on

I wanted my notes to be plain files, so I built a small Windows notes app (no Electron)

Most note apps keep your notes in their own database, or in the cloud behind an account, or they ship a whole web browser inside. I wanted something simpler: plain .md files in a normal folder, links between notes, search, and text that already looks formatted while you type.

So I built Leaflet: a free, open-source (MIT) notes app for Windows, written in C# with Avalonia. No WebView, no Electron.

Leaflet, Graphite theme

How it works

Open any folder and every .md file in it (and in subfolders) becomes a note. Nothing is hidden in a database and nothing goes to the cloud, so you can keep the folder in Git, in a synced folder, or on a USB stick. If you rename or move a note, the [[links]] in all the other notes are fixed automatically.

What it does

  • Links and backlinks: [[Note]], [[Note#Section]], [[Note|label]], with suggestions as you type [[. The side panel shows which notes link to the current one, its outline and tags.
  • Live preview in the editor itself: the line with the cursor shows raw Markdown, every other line is formatted. Tables, lists, checkbox tasks, footnotes, code, quotes, images, and one note can be embedded in another with ![[Note]].
  • Search and replace across all notes, #tags like #project/site, and a command palette on Ctrl+P.
  • Images: paste or drag them in, they are copied to an assets folder.
  • Safety for your data: autosave, crash drafts, version history with restore, and protection if a file is changed outside the app while you have unsaved edits.
  • Export one note or all of them to HTML and PDF, in the colours of the theme you picked.
  • Three themes (Graphite, Terminal, Light), English and Russian interface, remappable shortcuts.

Leaflet, Light theme

Leaflet, Terminal theme

Why Avalonia and not Electron

A WebView or Electron app would have given me a Markdown renderer in an evening. It would also have given me a second heavy process and a slower start. Avalonia draws through Skia in a single native process, so Leaflet starts in about a second and uses around 130 MB on a note with 5,000 lines (my measurements, on one machine). PDF export uses SkiaSharp too, so there is no browser anywhere in the app.

Try it

There is nothing to install: unzip, run Leaflet.exe, pick a folder (Windows 10/11, .NET is included, about 50 MB). It is not code-signed, so SmartScreen may ask you to confirm: "More info" → "Run anyway".

What it does not have: plugins, sync, mobile apps. It is a "folder of files" notes app, and anything else you can build on top with Git or a cloud folder.

I'd love to hear what is missing or broken. Issues and comments are welcome.

Top comments (0)