A few months ago, I was introduced to what many people call "second brain" software—software that allows you to take notes on anything and everything and then easily search those notes in the future without having to think too much about the organization. More specifically, I was introduced to the most popular open source "second brain" software called Logseq. Logseq is a note-taking application designed to be a knowledge base that handles not just a lot of information, but a lot of types of information. It's an all-in-one solution for task management, notes, flash cards, whiteboards, and slideshows.

While I am not a huge fan of the complexity of such a piece of software—or any software that's written in ElectronJS—I must admit that Logseq has been incredibly useful to me both in my career and my personal life. I've been using it continuously all summer, and now that the school year is about to start, I'm looking forward to continue using it in my academic persuits as well.

It is not my only intention in this post to explain how Logseq works or endorse its use. I also aim to explain how I personally use Logseq. Logseq is incredibly powerful, and I want to shed some light on my workflow with it. For those that already use Logseq, this post should provide some insight into my methodology, which may or may not work well with your own. For those that have never heard of Logseq or "second brain" software, perhaps this post will encourage you to start using such software after seeing only a fraction of the possibilities.

Everything In One Place

The main draw of Logseq for me is the fact that everything can go in the same place. For years, I have struggled to deal with the software fragmentation necessary to organize myself. I have for as long as I have needed to be productive and organize myself desired a single solution for all of my notes, to-do lists, and other "personal documentation" as I call it. The problems I've always had is that my notes are scattered among different formats depending on the subject. Additionally, I have used specialized software for flashcards, and I straight up didn't use any whiteboarding software at all because it'd require yet another application to install. For notes, I've used LibreOffice, LaTeX, Troff, Markdown, and even plain text, so I have my documentation scattered among many file formats and thus I require many pieces of software to make use of my notes. Furthermore, these files are scattered all over my filesystem, with little rhyme or reason. In other words, there is very little organization.

My most successful attempt at consolidating all of my personal documentation has been my private Nextcloud instance. It is my one-stop-shop for files, calendars, task lists, notes, and even things like email, music, bookmarks, and instant messaging with my family. Nextcloud has been such a valuable piece of software that no matter how many times I try to simplify my server stack and eliminate it because it is too complex, I always end up re-installing it. It's just too useful, and too valuable to me. Despite its complexity, it is a neccessity for my productivity.

Logseq is extremely similar to Nextcloud in that it adds incredible value to my life despite my dislike of its complexity. The problem that Logseq solves, which Nextcloud could not, is that while Nextcloud allows me to have all my files in once place and to share them and move them around quickly and easily, it does very little to keep me organized. There is a basic notes application and a basic task list application, but they require discipline to keep organized and link together in any meaningful way, whereas with Logseq, I don't ever have to think about where a piece of information goes, because everything goes in the same place.

Additionally, Nextcloud doesn't solve all of my information needs. For example, it doesn't have a whitboarding mechanism or a way to do flash cards, so I've been using separate software for those other things. Logseq, on the other hand, does everything. It's where I can put not only my notes, but also any to-do list items that may go along with those notes. It provides an interesting and yet intuitive mechanism for flash cards, and allows me to draw on infinite whiteboards. Pretty much anything I need to do with regards to documenting my life and keeping that documentation organized, I can do in Logseq. I've yet to find something that would be better suited to another piece of software, as far as personal organization goes.

Trivial Organization

Having everything all in one place seems like it would be chaotic and hard to organize, but this core design decision of Logseq makes it extremely powerful. The main feature of Logseq that makes it so incredibly useful is the ability to link separate pieces of information together. Internally, Logseq uses an undirected graph to store information. This allows me to quickly and easily navigate through all related pieces of knowledge by linking them together. The best way I can think to describe this feature is by analogy of website links. On a web page, you can link to other web pages, and clicking through these links allows you traverse large amounts of information in a well-structured way, because the links convey information about how information is structured.

Logseq provides the tools to allow your notes to behave the same way as web links. You can create a new page, and as you fill in the contents of that page, you can link to other relevant pages seemlessly, which connects those pages together in your graph. Then, when you visit your page, you can easily follow the links to your other pages. One way that Logseq pages differ from a web page, however, is that it also has "back links." When you link to another page, not only does that allow you to quickly jump to the linked page, but when you open the linked page, you'll see a reference to the page that links to it as well. This what makes Logseq "undirected" or bi-directional: links go both ways, so when you link pages together, they can be transversed in either direction.

I have found links to be incredibly useful for organizing myself, and indeed they are the primary mechanism by which Logseq intends that users organize their notes. You can catagorize content by "tagging" it with links, and when you're taking notes, you can quickly and easily link to other relevant notes. This allows Logseq to function as a personal wiki of sorts, because wikis are characterized by their heavy use of links, which allows related information to be quickly found.

While Logseq also supports page hierarchies and other organizational strategies, links are the main way to organize content, and though it does take a little getting used to, it is incredibly useful, and allows your knowledge base to organize itself, in a way. This is what makes organization so trivial in Logseq: it doesn't necessarily have to be a conscious effort; rather, it happens automatically as you link things together.

The Daily Journal

Something that surprised me about its usefulness is the journal feature in Logseq. Every day, Logseq presents you with a new blank page onto which to write your notes. It is intended to be the primary place that information goes on a daily basis. For me, the daily journal has two primary benefits:

  1. It removes the burden of deciding where a certain piece of information should go. Whenever I have something I want to write down, I don't even have to think about where to put it anymore—it always goes in the journal. Regardless of what it is, be it a quick to-do item or lecture notes or prayers and prayer requests, it just always goes in the journal. Combining the journal with links allows the different things that I put in the journal to be quickly and easily searched. For example, if I add a prayer request, I can tag it with a certain link that, when clicked, shows me all of my previous prayers and prayer requests.

  2. It encourages me to write things down more often, which in turn allows me to remember things better. Now that I have a journal easily accessible at all times, it is incredibly easy to just jot things down as soon as they come to mind. I think this is the goal of Logseq, to always be there as soon as you need it, and this is something that the journal does really well. It's always no more than a click away, and I can just quickly jot my thoughts down to refer back to later.

I never thought I would have much use for a journal because I always assumed that I would just directly create new pages for separate topics, but Logseq puts a log of emphasis on using the journal, and I am glad that it does, because it is incredibly intuitive and useful, particularly because the journal page will also show you what tasks you have scheduled and due, as well as what you're currently working on if you notify Logseq of such things. The daily journal is what makes the "everything in one place" model of storing information so useful.

Assets: Images, PDFs, Audio, & More

Not only can you link to other pages in Logseq, you can also link to assets. Assets are simply anything that isn't text, and the way assets are handled in Logseq is rather phenomenal. To add a link to an image, document, video, or really any other file you could have, you just drag it into your Logseq window, and it will insert the link at the current cursor position. Logseq links to files first by copying them into its own assets/ folder, and then linking to its copy. This keeps your Logseq data fully self-contained, so when you copy your data to different machines, all your images and documents come too.

While Logseq won't replace the traditional ~/Documents folder for most documents, being able to link images and PDFs has been incredibly useful to me. When you link an image, it is automatically rendered in-place, and when you click a PDF link, it is opened in the Logseq window where it can be annotated. Logseq truly makes external assets feel like they belong, and it really enhances my notes to be able to quickly add images and documents, or even slideshow presentations.

To-Do Lists

Until I discovered Logseq, I was perfectly content to use the plain to-do list application provided by Nextcloud. In hindsight, I don't think I'd ever be able to go back to that. For the most part, Nextcloud's CalDAV tasks are useful enough, because you can have multiple lists and you can organize and nest them and all that, but comparatively, Logseq's to-do mangement is much, much more powerful and useful.

First, action items can have many different statuses. With CalDAV lists, you can mark an item as done, or you can set a percentage of progress, and that's pretty much it. In Logseq, your regular to-do items are marked as TODO, but there's also DOING, LATER, NOW, IN-PROGRESS, CANCELLED, and many more, of course including DONE. Tasks can be in a huge number of different statuses, and this makes it very useful to see at a glance where everything in my life is at.

Second, action items can be nested inside of the notes where they are most relevant, and Logseq will automatically bring them out and show them where relevant. One of the problems I've had with task list applications in the past is that they require a context switch. I have to switch over to the application, add my task, and then switch back to whatever I was doing. In Logseq, I can just add my to-do item immediately where I'm at in my notes, and it will automatically show up in my task lists, so no context switching is required.

As far as I can tell, there is nothing that CalDAV tasks does that Logseq tasks cannot, and Logseq offers many more features, as well as the ability to have your tasks embedded right in with the rest of your information. I find that incredibly useful, and have switched entirely from using Nextcloud's built-in tasks to using Logseq's. This has the unfortunate side effect of not allowing me to share tasks with other users on my Nextcloud instance, but I seldom have to do this anyway, and for that I have no issue falling back on Nextcloud tasks. I still use Nextcloud's CalDAV functionality for my calendar, particularly because I have a few shared calendars and because calendar applications are still a much better way of scheduling events than Logseq is.

In general, there is a lot of semantic information that can be added to tasks in Logseq that makes them very powerful, including, of course, links, which allow you to categorize tasks. Even though Logseq really only has one large task list, tasks can be categorized by adding links to them, which allows me to have separate task lists just by going to those links.

Queries

Queries are one of those advanced features of Logseq intended only for the most advanced users. Queries allow you to search and display information from all of your pages in a concise list. They make it so that you can take advantage of links and use these links to automatically generate lists of related information, and they allow you to customize the Logseq interface to display information in a special way based on how you write your queries.

I must admit that I don't know most of what queries can do, but I have found them incredibly useful in building "home" pages for certain topics in my Logseq graph. For example, my university notes and task lists are all under a certain page in my graph, and on that page, I have queries that only show me my tasks specifically for my classes, including any homework I have to do. This allows me to keep all of my data, be it personal, work, or school, all in the same Logseq graph, but still have a separation of concerns, as I can just click on my work, personal, or school page and then only see the action items related to that category.

I still have much to learn with regards to queries, but I think they are very powerful and I'm sure that I'd have much more to say about them if I knew more about how they worked and how to best take advantage of them.

Open By Design

Perhaps my favorite part of Logseq is that, again, while complex, it is open by design. This means first of all that it is fully open source. There are many proprietary knowledge base programs like Logseq that exist, some of which are even free, but I really don't want all of my information tied up in a proprietary program. For something as all-encompassing as Logseq, it is a hard requirement that it is free and open source forever, otherwise there is a possiblity that I'll lose access to all of my notes, tasks, and flash cards, and that would be a disaster.

Not only is Logseq open source, but it is private. You don't have to have an account to use it, and it runs entirely offline, saving your files into a local directory of your choice. It has no built-in mechanism for backups and syncing—more on that below—but instead allows you to save your files and back them up however you want. It doesn't use a complex database either; all the files are just Markdown and JSON-like, so they could be trivally parsed by another program, even one I wrote myself, if necessary.

I really like that Logseq uses Markdown both in the user interface, and also to store your data on the filesystem. Markdown is a simple yet useful markup language that is extremely familiar and versatile.

One Major Problem: Sync

I think my only problem with Logseq is that it offers only a single mechanism for syncing your notes and other data across devices: the proprietary custom sync server, hosted at logseq.com. There is no way to self-host the sync server, so if you don't want to send all of your data to that server in order to sync your data with your phone, for example, then you have to invent your own sync system.

My original idea was to use Nextcloud to sync my Logseq data. The idea is that I'd put my Logseq data folder in my Nextcloud and then sync it with the sync client. This works great for desktop and laptops, but breaks down for my phone. Unfortunately, Logseq on iOS doesn't support reading its data files from Nextcloud, so I had to come up with another solution. My current solution is to use Git. I have a Git repository on my computer that syncs up to my Git server. I then pull down this repository with a Git client on my phone that allows me to put the data files somewhere that Logseq can read them.

This works for now, but sometimes I get merge conflicts and I'm reminded of how much of a hack it is. It would be so much better if Logseq simply had a sync server that could be self-hosted. If only I had the time to write such a server...

Conclusion

Logseq is an incredibly powerful knowledge base. It truly has become my "second brain" that keeps track of all of my daily and weekly tasks. It's the place where I can take all my notes, and I'd highly recommend it to anyone that has to take a lot of notes and wants to have a comprehensive task list. Additionally, it supports other useful features like flashcards and whiteboards, the former of which is great for learning Biblical Greek and I'm sure would be good for other things as well, and the latter of which makes brainstorming much more pleasant.

Previous Post