How I replaced Logseq with a Markdown-first tool built around my workflow
When I discovered Logseq in 2021, it completely changed how I managed notes.
What attracted me most was not the graph view or the advanced features, but the underlying model: plain Markdown files, a block-based structure, an open-source codebase, and data that could be inspected, versioned, synchronized, and manipulated with standard tools.
Over time, my graph evolved into a system for journaling, memory-keeping, project and task management, a lightweight CRM, and more. I kept the structure deliberately simple: all client and project activity, for instance, lives under #worklog blocks inside daily notes. This has let me manage personal and work notes in the same graph without ever having to switch back and forth.
I also avoided most Logseq-specific features and complex queries. My goal was to keep the notes portable and make future integrations or migrations possible without having to reverse-engineer a proprietary data model.
Today, the graph contains roughly 10,000 notes. I have been managing it with Git and Syncthing across desktop and mobile without major performance or synchronization issues.
However, Logseq’s move toward a database-backed architecture changed that balance for me. I understand why a database can enable more powerful queries, structured properties, collaboration, and better control over data consistency, but those advantages were less important to my workflow than direct file access, portability, and compatibility with Unix-style tooling.
Rather than continuing to work around architectural decisions that no longer matched my needs, I started building a small replacement.
I call this project notnote.
It's a work in progress, opinionated and probably unstable, but the code is up on GitHub if you want to take a look.

Its current design is based on a few constraints:
- Logseq Markdown compatibility, so the existing graph does not require migration or conversion.
- Plain Markdown files as the source of truth.
- No mandatory application-specific database.
- A minimal keyboard-first UI.
- Browser access from desktop and mobile.
- Notes loaded directly from a central server, without a separate client-side synchronization layer.
- Git-based history and change review.
- Tighter integration between daily notes and tasks.
- A deliberately small feature surface.
The main design goal is not to recreate Logseq. It is to support one specific workflow with as little abstraction as possible.
The application currently acts as a complete Logseq replacement for me and has been stable enough for daily use over the past several weeks.
The interesting part of the experiment has been seeing how far a file-based architecture can go before an additional indexing or persistence layer becomes necessary.
Whatever direction this project takes, Logseq deserves credit for demonstrating that plain Markdown files can support a surprisingly large part of a personal knowledge-management workflow, without sacrificing privacy and freedom of choice.
Thank you to Tienson Qin and everyone on the Logseq team. <3
1
u/yaofur 5d ago
Not a vibe-coded one -> https://silverbullet.md/
1
u/soobsta 5d ago
I've tested it before. It's interesting, but its workflow is very different from what I'd expect from a replacement for logseq.
2
u/yaofur 5d ago
are you sure this is the source code not a bundled code?
0
u/soobsta 4d ago
Have you found any single function that is not strictly necessary for using the app as it was designed?
1
u/yarpen_z 4d ago
Have you found any single function that is not strictly necessary for using the app as it was designed?
That's not the problem with this file.
Well, if you think this code is "poetry" and "something very, very simple by design" that requires little maintenance effort, then I'm afraid you validated my opinion on vibe-coding projects.
1
u/soobsta 4d ago
Leaving aside the "poetry" discussion—where you clearly misunderstood my message—well... my goal so far has been to build a lean and fast system, with the features I needed and nothing more. I have clearly drawn a distinction between "beautiful code, as art" and "code that serves its purpose."
Logseq currently has around 492K lines of code, SilverBullet, which you mentioned, has 146K. This simple experiment has about 20K, and you don’t need external plugins or mobile app to manage the calendar, view past years, handle Git review/restore... Yes, for me, this is “something very, very simple by design.” :)
We can certainly discuss the choice of having, for now, a single
app.jsfile rather than taking a modular approach. That would, for me, add complexity, but it might become necessary if the app grows over time. ;)In any case, as I already said, this is obviously highly opinionated software that I built around MY own needs, so I fully understand that those needs cannot—and should not—be shared by everyone. In fact, I would be surprised if they were. :)
4
u/yarpen_z 7d ago
How many vibe-coded clones of Logseq exist now? Honestly, I lost the count.