1,350 Days with Logseq

I liked Logseq for almost four years, but SQLite over plain Markdown ruined it.

After 500 days, I wrote about what my knowledge graph looked like and how my usage had shifted since I began my PKM setup with Logseq. I genuinely liked the product. I still do. But I have since switched to Obsidian, and here is why.

The reason

It was not a feature comparison. Logseq’s database version has been in development for years, and when it finally ships, the underlying format will be SQLite, not Markdown. The old file-based version will not be supported indefinitely; that is how it always goes. Staying meant waiting for the moment I had no choice but to migrate. Leaving now meant doing it on my own terms, with time to do it properly.

Portability, for me, means one thing: Markdown. I write in Markdown, I save in Markdown, and I want no intermediate layer making export difficult or lossy. A cron job checks my vault into a private GitHub repository every day, the same one-liner I had before, pointed at a different folder. My notes are version-controlled, readable in any text editor, and dependent on no company’s roadmap. That is the entire point.

I have been here before. I was an early Paperpile user and waited nearly two years for features that never arrived while the team rewrote their system around priorities that meant nothing to me. It became clear I was no longer the target customer, so I stopped paying and moved to Zotero. The lesson I learned was that the longer you invest in something heading in the wrong direction, the more expensive the exit. Logseq’s database version has been in progress for roughly the same stretch of time, judging by the forum thread linked above. I merely recognised the pattern and decided not to wait it out again.

The cost

The vault looked enormous because of thousands of Readwise highlights synced automatically from articles, books, and podcasts, plus research paper pages organised by topic as described elsewhere. When I excluded those, which would be reimported from scratch from their respective tools anyway, what remained was a handful of daily journal entries and a few hundred notes. Long-form writing never lived in Logseq anyway, because the block-based structure made crafting prose a chore rather than a convenience.

Of those remaining notes, perhaps 25 had block-level links. I had assumed this would be the hard part, but they turned out to be references rather than embedded content, and the migration scripts handled most of them cleanly, at least with a bit of back and forth with Claude for a few hours in the background, working on a copy of my original library, so I could always revert easily in case of issues. Block-level linking is the feature I worried most about losing, but then I checked: I had used it a few dozen times across 1,350 days. Aliases at the page level cover the same ground for how I actually work, and Obsidian supports them just fine.

The Zotero integration also improved considerably. My previous setup involved exporting annotations manually and copying them into Logseq or working off the highlights, which would then never reach Zotero. I always knew it was not ideal, but I accepted it. With the Obsidian plugin, the connection is direct and the annotations live where they belong (Zotero), which alone would have made the move worthwhile.

The setup

I have replicated key aspects of my setup with a minimal set of community plugins:

  • Calendar for daily journals.
  • Dataview for querying notes as filterable tables, with a query language that is SQL-like and far more readable than Logseq’s Datalog.
  • Omnisearch for full-text search across the entire vault, including tags.
  • Tasks for basic task management.
  • And Home Tab, which brings Google-style search to the vault, backed by Omnisearch.

Below is what the knowledge graph looks like now.

My knowledge graph in Obsidian, with the 'quantum' tag highlighted
My knowledge graph in Obsidian, with the 'quantum' tag highlighted

I did not want to leave Logseq. That is worth saying plainly, especially after three posts and nearly four years. But that was simply not enough. Products optimize for retention, which often entails lock-in, even when the rationale is sound for technical reasons, as in Logseq’s case. When the cost of leaving begins to outweigh the value I receive, I leave.