4 min read

Experiment: Content Management in Obsidian

I don’t mind using multiple apps as part of my productivity system, but I do like to consolidate them as much as possible. So when I started CreaDev Labs and needed a way of managing my content, I started looking for project management plugins in my writing app of choice, Obsidian. Since Obsidian is where I do the bulk of my writing, it made sense to me to manage my content workflow in the same place. I didn’t want to have to juggle content management between Obsidian and some other project management app.

I found a couple useful resources of what others had done to manage content in Obsidian (linked below) which led me to installing the Kanban plugin. This allowed me to turn a note into a Kanban board and be able to visually move posts between the various content creation stages.

Initial stages on my content Kanban board
Scrolling to the side reveals the "Copied to Website / Scheduled" stage

Another plugin I installed was the Quick Add plugin. Utilizing this plugin allowed me to add post ideas to the Ideas column on my content board from anywhere within Obsidian. I also set up a few templates for the various types of content I wanted to create, and set up Quick Add commands to be able to pre-populate the meta data fields upon post creation.

Post template with Quick Add plugin placeholders

I wanted to keep track of when posts were scheduled to go out, as well as see what posts had already been published, so I utilized the Dataview plugin to aggregate lists based on when the post was scheduled to go out. I created a Content Schedule note that told me what post was scheduled for today, what post was scheduled for tomorrow, what posts were upcoming, and what posts had already been published. I also created some lists for experiments in progress and experiments completed.

Content Schedule: Scheduled Today, Scheduled Tomorrow, and Upcoming
Content Schedule: Published, Experiments in Progress, Experiments Completed

Example dataview query:

TABLE scheduled as Scheduled, in_newsletter as "In Newsletter"
FROM "Content" OR "Lab Reports"
WHERE scheduled = date(today)

As you can imagine, this took quite awhile to set up, but I felt really good at what I had thrown together inside an app not built for project management. It wasn’t long before things felt apart, however.

I used my setup for a week or two, and found it hard to keep up with the meta data aspect. The meta data had to be manually updated each time I moved a post to a new stage on the Kanban board. This meant leaving the content board to go to the individual post, or opening the post up in a different pane. I couldn’t update the status of a post and have it reflect on the Kanban board (and vice versa). I found myself switching files a lot (content board ↔ individual post note ↔ content schedule) to make sure the status of everything was up to date. I found myself getting stressed about meta data rather than enjoying creating the content. As much as I wanted to have everything in one place, managing my content in Obsidian just wasn’t working for me.

I then decided to switch to managing my content in Notion rather than Obsidian. Notion is built on top of databases, so updating meta data is part of their core functionality. I’ll be detailing my content management setup in Notion in my next post.

To me, this is a great example of failing fast: experimenting with something, finding out quickly it’s not going to work, then switching gears to get to the successful ideas faster.

This is not to say content management can’t work in Obsidian. For someone who has less meta data to juggle it could be made to work. If you’re looking to do some content or project management in Obsidian, I hope some of the ideas and plugins I’ve presented are helpful to you.


Practically Paperless with Obsidian, Episode 26: Use Case: Managing My Blog Writing in Obsidian