# Obsidian on the web Using Prosemirror

**URL:** https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525
**Category:** Uncategorized
**Created:** [August 24, 2025, 1:00pm UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525 "2025-08-24T13:00:47Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![abdelrahman](https://discuss.prosemirror.net/letter_avatar_proxy/v4/letter/a/b782af/32.png) [@abdelrahman](https://discuss.prosemirror.net/u/abdelrahman)
#### Post date: [August 24, 2025, 1:00pm UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/1 "2025-08-24T13:00:47Z")

</div>

Hi everyone,

I recently started using Obsidian for note-taking, but I noticed there isn’t an official or community web version!.

What if we built a simple, open-source Obsidian-like app for the web using **ProseMirror**?

- Could be run locally, self-hosted, or in a Docker environment
- Allow users to sync and access their notes from any device
- Support linking to a local vault or importing files directly

I’d be happy to contribute or even start the project if others are interested. What do you think?

---

<div class="post-metadata">

### Author: ![charmz](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/charmz/32/4635_2.png) [@charmz](https://discuss.prosemirror.net/u/charmz)
#### Post date: [August 25, 2025, 5:32pm UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/2 "2025-08-25T17:32:03Z")

</div>

This would be awesome. What do you see as the steps to get started?

---

<div class="post-metadata">

### Author: ![renato](https://discuss.prosemirror.net/user_avatar/discuss.prosemirror.net/renato/32/4232_2.png) [@renato](https://discuss.prosemirror.net/u/renato)
#### Post date: [August 26, 2025, 12:02am UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/3 "2025-08-26T00:02:25Z")

</div>

I believe CodeMirror would be a better fit for a project like this.

> [@Apply the input rules (markdown) but also keep the tokens](https://discuss.prosemirror.net/t/apply-the-input-rules-markdown-but-also-keep-the-tokens/4513/2):
>
> But if you want to allow people to edit those characters directly, you might be better off building on top of something like [CodeMirror](https://codemirror.net)

From [Obsidian docs](https://docs.obsidian.md/Plugins/Editor/Editor):

> Obsidian uses CodeMirror (CM) as the underlying text editor, and exposes the CodeMirror editor as part of the API

---

<div class="post-metadata">

### Author: ![abdelrahman](https://discuss.prosemirror.net/letter_avatar_proxy/v4/letter/a/b782af/32.png) [@abdelrahman](https://discuss.prosemirror.net/u/abdelrahman)
#### Post date: [August 27, 2025, 2:52pm UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/4 "2025-08-27T14:52:06Z")

</div>

Hi there, Thanks for the comments and interest in this idea!

And yes @renato, CodeMirror looks like the better fit here, thanks a lot!

I was surprised to see how many people want a browser-version of Obsidian (like me), especially in [this thread](https://forum.obsidian.md/t/obsidian-for-web/2049). From what I gathered, users mainly want:

- Access from locked-down or unsupported devices (corporate laptops, schools, Chromebooks, Raspberry Pi, etc.)
- Freedom to choose their sync provider (Dropbox, Google Drive, GitHub, etc.)
- Self-hosted options (e.g. Docker) for full control
- A lightweight web editor, even if not fully featured
- To bypass corporate IT restrictions while still keeping notes private and accessible anywhere

The next big question is the data model:

- Should we stick to **atomic Markdown files** (like Obsidian) and rely on cloud file storage for sync? If so, how do we handle indexing, graph previews, and CRUD performance at scale?
- Or should we use a **structured JSON/OPML model** , which reduces file count and might make parsing/indexing faster?
- Or support a **self-hosted DB** for storing notes, for faster queries and graph extraction, while still allowing export back to Markdown (or other formats)?

---

<div class="post-metadata">

### Author: ![abdelrahman](https://discuss.prosemirror.net/letter_avatar_proxy/v4/letter/a/b782af/32.png) [@abdelrahman](https://discuss.prosemirror.net/u/abdelrahman)
#### Post date: [June 19, 2026, 7:57am UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/5 "2026-06-19T07:57:00Z")

</div>

Small update on this idea since it’s been almost a year.

I ended up starting the project and have been working on it full-time for the last few months.

The current direction is a self-hosted, browser-based Markdown knowledge app where notes remain real Markdown files and vaults remain real folders on disk, while collaboration is handled through CRDTs.

So far I have:

- Real-time collaborative editing working

- CRDT-based sync for both note content and vault tree operations

- Filesystem-backed vault storage

- User management, roles, permissions, invitations, and shared vaults

- Docker-first deployment

- Some of stress tests and sync tests

The biggest thing missing right now is the MVP UI. I’m trying to get it into a usable state before making the repository public.

One thing that became much clearer during implementation is that collaboration for the file/folder tree is almost as important as collaboration for the note content itself, and at the same time treat the real vault files/folders stored on the FS are the source of truth, and also handles the external changes done outside the app, e.g rsync, git pull, or nano.

I’ll post another update once I have screenshots and an early alpha available,

thank you 🙂

---

<div class="post-metadata">

### Author: ![zooha34](https://discuss.prosemirror.net/letter_avatar_proxy/v4/letter/z/51bf81/32.png) [@zooha34](https://discuss.prosemirror.net/u/zooha34)
#### Post date: [June 25, 2026, 10:13am UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/6 "2026-06-25T10:13:42Z")

</div>

Most likely, the correct decision here is to keep real Markdown files as the source of truth. Coupling filesystem backed storage + CRDT collaboration + listening to external changes (git pull / rsync) gives you compatibility that a pure DB or JSON model usually struggles with.

The markdown is the easy part, it’s making sure the vault tree and indexing and graph state is consistent with concurrent edits and filesystem events. Sounds like you already found that folder collaboration is as important as note collaboration. A Docker-first, self-hosted approach with actual Markdown files feels much closer to what many Obsidian users actually want than a completely new data model.

---

<div class="post-metadata">

### Author: ![abdelrahman](https://discuss.prosemirror.net/letter_avatar_proxy/v4/letter/a/b782af/32.png) [@abdelrahman](https://discuss.prosemirror.net/u/abdelrahman)
#### Post date: [June 25, 2026, 5:09pm UTC](https://discuss.prosemirror.net/t/obsidian-on-the-web-using-prosemirror/8525/7 "2026-06-25T17:09:07Z")

</div>

Thanks @zooha34 , that’s pretty much the conclusion I’ve reached after implementing a large part of it.

The mental model behind the project is that your notes are yours. They live on your server as real Markdown files inside real folders that you can inspect, edit, organize, back up, or process with whatever tools you prefer—not just this app.

```auto
/vaults
  /my-vault
  /shared-vault

```

You can synchronize it with `rsync`, `cd` into a vault on your server, edit files with `nano` or another editor, `git pull` content, run scheduled backups, or upload snapshots to cloud storage. I wanted the vault to remain compatible with existing workflows rather than introducing a completely new storage model.

There have been quite a few engineering challenges around that area, especially when trying to support multiple users, multiple vaults, real-time collaboration, and external filesystem changes at the same time with a good performance. I’ll share more details once I have an early alpha
