frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Opensidian: Local-first notes in the browser with POSIX shell and sync

https://opensidian.com
1•braden-w•1h ago
Hey HN! Braden here. Some of you might know me from Whispering a while back (https://news.ycombinator.com/item?id=44942731).

Obsidian was one of the biggest inspirations behind the Epicenter project. I used it daily and think it's incredible software. But it's not open source, and Obsidian Sync never quite worked the way I wanted it to. I think any tool that sits this deep in your personal knowledge system should be open source and auditable.

So I built Opensidian as an open-source proof of concept: what happens when you store notes as Yjs CRDTs, sync them across servers, encrypt them end-to-end, and put a POSIX-like filesystem on top?

To do this, I built `@epicenter/filesystem`, which exposes a virtual filesystem interface on top of `@epicenter/workspace`'s CRDT tables. I then wired this into `just-bash`, a bash interpreter implemented entirely in TypeScript, which provided 80+ Unix commands (awk, sed, grep, jq, find, sqlite3, curl, etc.) to run against the same data the editor uses. Shell commands and the UI hit the same underlying CRDTs.

$ echo "# Meeting notes" > /notes/2026-04-06.md

$ mkdir /notes/archive

$ mv /notes/2026-04-06.md /notes/archive/

$ open /notes/archive/2026-04-06.md

Those commands create and move real files that immediately appear in the editor's file tree. The best part is that all of this works in both browser and server-side contexts, since yjs (https://github.com/yjs/yjs) is isomorphic.

Under the hood, metadata (name, parent, timestamps) lives in a versioned CRDT table. Document content lives in a separate Y.Doc per file, so the directory index syncs without pulling every document body. Sync uses the Yjs protocol over WebSocket, with Cloudflare Durable Objects persisting an append-only SQLite update log. Everything is encrypted end-to-end with XChaCha20-Poly1305. Keys derived via HKDF-SHA256; the sync server sees only the ciphertext.

More features: CodeMirror 6 with Yjs collaboration binding, `[[` internal links that store file IDs (renames don't break them), SQLite FTS5 search, AI chat with tool-call approval UI, and Vim mode.

Opensidian itself is a demo. For the last six months, I've been working on the infrastructure underneath: `@epicenter/workspace` (typed CRDT tables with versioning, migrations, encryption, and sync) and `@epicenter/filesystem` (a POSIX filesystem layer over Yjs). I'll be writing more about those APIs separately and integrating them into more apps in the ecosystem (including Whispering). The idea is that anyone can build local-first apps on the same foundation: notes, task managers, knowledge bases, etc., while solving the most difficult problems of local-first sync.

The UI is rough, and the feature set is thin compared to Obsidian; this isn't trying to replace it today. But I'm excited for what the future of personal computing tools could look like!

MIT licensed. Would love feedback, ideas, and roasts.

Source: https://github.com/EpicenterHQ/epicenter/tree/main/apps/open... Discord: https://go.epicenter.so/discord

Comments

dtkav•1h ago
This is really cool. I'm excited to dive into the code later today.

Im building something similar but have been working from the opposite direction.

I started by making Obsidian real time collaborative (relay.md), and have been slowly heading in the direction of yjs backed filesystem (that supports the obsidian graph "protocol").

IMO the obsidian editor is best-in-class, and the important thing is owning sync. I also wish it was open source, but I'm also impressed with their business model (100% user funded) so I'm happy to support them.

I've found that many devs starting with the infrastructure tend to hand wave conflict UX with yjs. It can be useful to support LWW in certain scenarios like updating links across many files, or frontmatter updates.

Automated find-and-replace is particularly bad in yjs/ytext because deletes are idempotent but inserts are not. race conditions trigger broken links. (I call this the "machine edits" problem, not sure if there is a better name).

I think the other underexplored discussion for local first apps is how to build a business so that you can afford to work on it full time.

dtkav•3m ago
It seems like you're using stable IDs for the links. Did you run into issues using the name like Obsidian does?

EmDash is a full-stack TypeScript CMS, spiritual successor to WordPress

https://github.com/emdash-cms/emdash
1•danboarder•27s ago•0 comments

Emotion in AI Is Not Noise – It's Signal

https://twitter.com/fabianfranz/status/2041541955662774434
1•IsomorphicAI•1m ago•0 comments

Full System Cost of a Resilient and Carbon Neutral Electricity System [pdf]

https://unece.org/sites/default/files/2025-09/GECES-21_2025_INF.2%20-%20Understanding%20the%20Ful...
2•BenoitP•2m ago•0 comments

Show HN: Clawcast – A peer-to-peer podcast network for agents

https://www.clawcast.dev/
2•PiersonMarks•7m ago•2 comments

John Maynard Keynes: Newton, the Man

https://mathshistory.st-andrews.ac.uk/Extras/Keynes_Newton/
1•ericmay•7m ago•0 comments

Show HN: I built a database for AI agents

https://github.com/DinobaseHQ/dinobase
6•Kappa90•8m ago•3 comments

DNA robots could deliver drugs and hunt viruses inside your body

https://openyourmindabretumente.blogspot.com/2026/04/dna-robots-could-deliver-drugs-and-hunt_0138...
2•ericzapata•9m ago•0 comments

OpenSSH 10.3/10.3p1 Release Notes

https://www.openssh.org/txt/release-10.3
1•throw0101c•10m ago•1 comments

Studying Human Attitudes Towards Robots Through Experience

https://openyourmindabretumente.blogspot.com/2026/04/studying-human-attitudes-towards-robots_0169...
1•ericzapata•11m ago•0 comments

Stablecoins are quietly reinforcing US dollar dominance

https://verda.ventures/how-america-can-maintain-the-dollar-hegemony/
3•sevenfoldnancy•12m ago•0 comments

Show HN: C64 Ultimate Toolbox for macOS

https://github.com/amiantos/c64-ultimate-toolbox
1•amiantos•13m ago•0 comments

Ask HN: How do you promote apps which are vibe coded but has real life usecase?

2•faiyaz26•13m ago•0 comments

The Blueprint of a North Korean Attack on Open-Source

https://casco.com/blog/the-blueprint-of-a-north-korean-attack-on-open-source
4•brene•14m ago•1 comments

Seekdb M0: Persistent Cloud Memory and Shared Experience for OpenClaw Agents

https://en.oceanbase.com/blog/26635690496
2•calweng•14m ago•0 comments

Is Telehealth Safe?

https://www.kaspersky.com/blog/telehealth-issues-2026/55560/
1•salkahfi•14m ago•0 comments

Supabase vs. Convex

https://www.devtoolsacademy.com/blog/supabase-vs-convex/
2•alokDT•15m ago•0 comments

Show HN: I had no idea I twirled my hair 25 times an hour until my Mac told me

https://www.ticticboom.app/
2•haberdasher•15m ago•0 comments

Show HN: Interactive object storage cost calculator

https://storage.mixpeek.com
1•Beefin•15m ago•0 comments

Live Rocket Telemetry and Logging in Two Weeks

https://wilsonharper.net/projects/avio/
1•WilsonHarper•16m ago•0 comments

Seekdb M0: Persistent Cloud Memory and Shared Experience for OpenClaw Agents

https://oceanbase.medium.com/how-seekdb-m0-gives-openclaw-persistent-memory-and-shared-experience...
1•calweng•17m ago•0 comments

Rescuing old printers with an in-browser Linux VM bridged to WebUSB over USB/IP

https://printervention.app/details
2•gmac•18m ago•0 comments

Are We Legacy Computing Yet?

https://arewelegacycomputingyet.com/
1•tyoverby•18m ago•0 comments

A clothes hanger invented by a mechanical engineer

https://www.kangaroohanger.com
1•samdung•19m ago•0 comments

We no longer write any of the prompts in our codebase

https://gist.github.com/milstan/3b12f938f344f4ae1f511dd19e56adce
1•milstan•19m ago•1 comments

GLM-5.1: The Next Level of Open Source

https://twitter.com/Zai_org/status/2041550153354519022
1•zixuanlimit•20m ago•3 comments

A star scientist showed that better genetics lessons could reduce racism

https://www.statnews.com/2026/04/07/brian-donovan-fighting-racism-with-genetics-education/
2•mooreds•22m ago•0 comments

The proliferation of AI-enabled military technology in the Middle East

https://www.iiss.org/online-analysis/charting-middle-east/2026/04/the-proliferation-of-ai-enabled...
1•CrypticShift•25m ago•0 comments

Lessons from Fitness Wearable Company WHOOP's FDA Warning Letter

https://pmc.ncbi.nlm.nih.gov/articles/PMC12822547/
1•randycupertino•26m ago•0 comments

WildDet3D: Open model that look at a single photo and understand objects in 3D

https://allenai.org/blog/wilddet3d
1•maxloh•26m ago•0 comments

Axios NPM supply chain incident

https://blog.talosintelligence.com/axois-npm-supply-chain-incident/
1•tcbrah•26m ago•0 comments