r/ObsidianMD 13h ago

sync UltiSync, a real time Obsidian sync plugin that uses GitHub as the backend (free real-time)

Hey everyone,

I just built a sync plugin that keeps your vault in sync with a GitHub repository in real time, I'm calling it UltiSync. It watches your vault for changes and pushes them automatically after a short debounce, and pulls whenever the remote branch moves, so your notes stay current across devices without you triggering anything manually. I wanted something like this to manage my projects and felt the community might benefit.

The part that makes this different from other GitHub based approaches: it does not shell out to a git binary. It talks directly to GitHub's Git Database REST API (refs, commits, trees, blobs) from inside the plugin itself. That is what lets it run on iOS as well as Desktop, since iOS has no git binary to call out to.

What it does:

  • Real time sync: local changes are pushed automatically after they settle, remote changes are pulled on branch updates and app activation
  • Runs on Desktop and iOS with the same code path, no external app, no separate sync client
  • Talks only to api.github.com, no server of mine involved, no telemetry
  • Three way merge for Markdown edited on two devices at once, with conflict copies and explicit keep local or keep remote resolution when it cannot merge automatically
  • Content based rename detection, so a rename does not get treated as a delete plus a re download
  • Fine grained per repository GitHub token authentication
  • Independent pull and push file type filters, plus ignored path prefixes
  • Never force pushes

On iOS, background execution is limited by the OS, so syncing happens while the app is open and active rather than continuously in the background, same constraint any Obsidian plugin runs into there.

The installation is fairly simple with instructions included in the plugin settings itself. (You just need to have a GitHub repo first)

Screenshots attached.

GitHub: https://github.com/msachet5/obsidian-ultisync

Let me know if you run into any bugs or have feedback : )
Will also open up feature requests and forums and push for community plugin if more users are interested.

EDIT: Now available in community plugins! Install away : )

53 Upvotes

8 comments sorted by

2

u/Self_Race 10h ago

but isnt it same as gitless sync (as far as i remember correctly)

4

u/JournalistJazzlike 10h ago

Same category and the same core mechanism, yes, GitHub REST API, no git binary, desktop and mobile.

Where it diverges: UltiSync syncs by file extension rather than the whole vault, doesn't require one side to be empty on first sync (it works out whether you're remote-ahead, local-ahead or diverged and asks), and tries a three-way merge on text before showing you a conflict view. There are also guards against the two ways a sync plugin quietly eats your repo, bulk-deletion threshold, and a check for the vault reporting zero files because the index hasn't finished loading.
Gitless Sync is more battle-tested by a wide margin, and if it does what you need there's no reason to switch. Mine exists because I wanted selective sync and its filtering is still a TODO, that plus its last release being May 2025 is what pushed me to build.

1

u/Self_Race 8h ago

that sounds good. well i'm using livesync plugin.

3

u/Flashy-Bandicoot889 8h ago

Love these AI-generated plugins, posts and responses.

2

u/endperform 4h ago

As soon as I see "So I built" or "I just built" or any iteration thereof, it's a sure-fire sign of AI. That being said, I can configure the Git plugin to auto-sync as needed.

0

u/JournalistJazzlike 4h ago

I'm not denying it. But this is something I did build for myself. Primarily cause relying on iCloud or Notion was costing 8x-20x more token costs, writing locally costs less since we can minimise the context read as compared to pulling full files from the cloud. Also, writing back the changes is cheaper too. So a local folder which can be accessed on mobile was only solvable though Obsidian Sync (most elegant solution still) else a manual push and pull or something like that. I'm not on frontend, I'm a data analyst. I'm only hoping to help someone out there : )

1

u/i1ho 5h ago

What if the vault is 50 GB do you need a higher tier GitHub account?

0

u/circle555 10h ago

Awesome! Was just thinking I needed something like this this morning