Notedog works on your Markdown repo. Every change is a plain Git commit.
Notedog can clone the repo you already use. You get a phone app and a browser editor on top of it. If it's not for you, uninstall the app. The repo is still yours, with a few more commits.
Why Notedog exists
I've kept my notes in a Git repo since January 2023. At first it was one big Markdown file: lots of small memos, each with its own front matter, one after another.
I wrote a Ruby script around it. A file watcher split each memo into its own file, wrote edits back into the big file, and ran commit, pull, and push. On a laptop it was nice, because any editor worked. On a phone it wasn't. I edited on GitHub and ran the same script as a GitHub workflow. And when I forgot to start the watcher, I got conflicts.
I tried Obsidian with a Git plugin too. It was hard to set up right, and I still fixed conflicts and unwanted changes by hand.
So I made Notedog. The repo lives on the phone. When I type on my laptop, I type in a browser tab that edits the files on the phone. One copy, one writer, so there's little left to conflict. (If you also edit the repo somewhere else, conflicts can still happen.)
What Notedog does to your repo
Not much, on purpose.
- No front matter is added, nothing is renamed, and no config files appear in the repo.
- New notes go in
log/by default. You can change that per journal. Pictures go inattachments/. - While you use it, it syncs about once an hour: add, commit, pull, push. Commits look like
Sync: 2026-10-03 11:00:00and use your name if you set it. Pulls rebase: the phone's new commits go on top, so your history stays a straight line. - It never force-pushes on its own. That's a button under Advanced settings, and you have to type "force push" before it runs.
$ git log --graph --oneline
* e41c9a2 Sync: 2026-10-03 09:40:05
* c92d4e0 Create log/2026-10-03-091512.md (via MCP: Claude)
* 7b03f18 Fix a typo in reading-list.md
* 5a1f7b3 Sync: 2026-10-03 08:40:12
* 0d8e6f1 Add notes on Raft
* 9c2b5aa Split memos into separate files
What you get
You write on your phone, offline, and it syncs later. On your laptop, you open a browser tab and type with a real keyboard, with live preview, Mermaid, and math. There's search, and backlinks for [[wiki links]].
Because it's a normal Git repo, AI agents can work on it the usual way. Clone it on your laptop, point Claude Code or Codex at it, and put an AGENTS.md at the root to tell them how your notes are laid out. Notedog shows that file as a note, so you can tweak it from your phone. Their commits come in on the next sync. It's a second copy, though, so the conflict note above applies.
To skip the second copy, an agent can read your notes over MCP instead, and write to them when you allow it. Those writes go straight to the phone, one commit each, so git log shows exactly what it did.
What it can't do yet
- HTTPS with a token only. No SSH. (Making a GitHub token)
- One branch: the repo's default.
- The whole repo is the journal. If your notes live in a subfolder, you'll see the rest too.
- Only
.mdand.txtfiles show in the note list and search. Other files,.markdownincluded, are kept and still open from the folder view. - No Git LFS.
- If a sync hits a conflict, it stops and lists the files. Your notes stay as they were, with no conflict markers. Today you fix it with Force Pull or Force Push in settings, and each one overwrites one side.
- Search is basic, and the editor has plenty of room to improve. Both are on the list.
If it's not for you
Uninstall it. Your remote has your old history plus Notedog's commits. No extra branches, no tags, no settings files. If you don't want the log/ folder, move those notes wherever you like.
To try it, follow Getting started and pick Git clone on the first screen.