Show HN: Files.md – Open-source alternative to Obsidian

zakirullin 606 points 297 comments May 18, 2026
github.com · View on Hacker News

Discussion Highlights (20 comments)

krthr

I really like the look and feel!

dilawar

Nice project. People may also want to checkout Tiddlywiki.

armsaw

Is there a way to follow inline links from a mobile device? Doesn’t seem to work for me in mobile Safari.

zakirullin

I believe that not only you should own your data in plain files, but also you should own the software that opens those files. So that your files and tools can grow together, fully under your ownership, through the ages. The app can be easily tweaked for your own needs via an LLM - code is optimized for that. P.S. And Golang seems to be great fit for this kind of software.

qitz

Nice Project, I really like the look!

himata4113

This made me realize that obsidian is *not* opensource, but in a way obsidian made me feel like it was opensource. Obviously now that I researched it, it is quite obvious that it is not, but still it 'feels' like it should be opensource.

ocimbote

I wouldn't show it as an alternative to Obsidian though. It shares MD files with it and both are supposedly about note taking ("supposedly" is for Obsidian, I haven't tried Files.md yet), but Files.md seems to have its own way of making the users work with their thoughts, notes and knowledge altogether. When I read "an alternative", I assumed feature-parity and API compatibility. But what I found out was entirely different and much more interesting. I'll give it a try, thanks for sharing your year-old work!

amai

I'm missing export in https://textbundle.org/ format. "TextBundle brings convenience back - by bundling the Markdown text and all referenced images into a single file."

trvz

To edit Markdown files I want a nice simple native app. We had those already more than a decade ago. Personally, I fondly remember Mou. Obsidian has heavy Electron vibes, and Files.md is several steps more into the wrong direction. The name is also bad. It feels like it was chosen because someone already had the domain.

riffruff24

another one in the same space: https://helixnotes.com/

nielsbjerg

There's also https://logseq.com/

backscratches

I use .MD files, helix terminal editor with a markdown LSP called markdown-oxide that replicates the obsidian feature set (like bidirectional links, tags, making new notes automatically, two keys get you from a in-line footnote to the definition and back again, etc), and rumdl which is a super efficient and customizable markdown linter and formatter (semantic line breaks far the win!) . Since it is all helix I can jump around a huge web of interlinked files very quickly with only a few key presses, as well as inside a document and manipulate them en masse or in minute detail all with only a few taps. All of your standard open source terminal tools work with it, difftastic, bat/cat, zoxide/CD, ripgrep, fzf, git, LLMs, encryption, sync, etc etc. I use yazi for a visual filepicker and zellij for tabs. Run it on a server and connect from any computer in the world without downloading a single thing. I sometimes make use of two tools called rucola and tree-md for looking at prettier versions of the texts and seeing stats about how they interact. All open source of course! There is no better interface for text than a terminal, and we are in the golden age. Despite being extremely powerful, this setup will run on resource constrained machines.

coreyh14444

The one thing I need in a solution like this is multi-player mode that includes a simplified review/track-changes system that I can collaborate with my AI on these docs. Proof.sdk from Every Inc has an interesting approach on this. If I had more free time, I'd build it myself!

RivoLink

Same idea, but directly inside your terminal: https://github.com/RivoLink/leaf

dodyg

Or just use LogSeq https://discuss.logseq.com/t/whats-new-with-logseq-db-may-16...

takethebus

nice, going to point my hermes agent to this instead of obsidian

tinyhouse

Looks nice but seems overkill to me to run a Go server to sync with a telegram bot to authenticate. Maybe I don't fully understand the use case.

jedimastert

This looks awesome, and I've been waffling about moving from Notion to something local/markdown based for a while. My only issue is that I really like using "databases"/tables, specifically for moving through processes ticket-style, in Notion. Does anyone know if there's something similar elsewhere? I'm not familiar with the knowledge-base/wiki space, I just kinda fell into notion.

calebm

I love the simplicity.

FailMore

1) Very nice implementation 2) Very nice domain! Did you always own "files.md"? 3) Re storing things on your server, what is the security layer around that? I have been building a slightly different solution to the same problem. So far I’m pretty happy with the results and I have enough returning users that I think others are too ( https://sdocs.dev/analytics ). I’ve built SmallDocs ( https://sdocs.dev ; Show HN: https://news.ycombinator.com/item?id=47777633 ). SDocs is cli (`sdoc file.md`) -> instantly rendered Markdown file in the browser When you install the cli it gives you the option to add a note in your base agent file (`~/.claude/CLAUDE.md`, etc.). This means every agent chat knows about SDocs and you can say “sdoc me the plan when you’re done with it” and the file will pop open instead of you having to find that terminal session to know it’s done. Going browser first means you’re not required to install anything to get a great experience. Despite being in the browser, the content of SDocs rendered Markdown files remain entirely local to you. SDoc urls contain your markdown document's content in compressed base64 in the url fragment (the bit after the `#`): https://sdocs.dev/#md=GzcFAMT...(this is the contents of your document)... The url fragment is never sent to the server (see https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F ...: "The fragment is not sent to the server when the URI is requested; it is processed by the client"). The sdocs.dev webapp is purely a client side decoding and rendering engine for the content stored in the url fragment. This also means you can share your .md files privately by sharing the url. I've enjoyed exploiting the HTML rendering side of things which is possible by displaying Markdown in a browser. I’ve added tagged code blocks that the agent is given documentation on how to use. Eg ```chart or ```mermaid (for mermaid diagrams). These then become interactive elements on the page (mermaid is best example of this currently). See live renderings of these options here - charts gallery: https://sdocs.dev/s/yO3WbxFf#k=arcDBnizla5n437VFAeiQcwlu8kh_... , diagrams gallery: https://sdocs.dev/s/B_Ux11DV#k=KsvheEkiBFai6acnoIJnrOdfVRS5u...

Semantic search powered by Rivestack pgvector
8,303 stories · 78,303 chunks indexed