Six years ago, I started a good blogging habit of writing down any idea I had as a draft post. This was a good practice because the idea was now out of my head and I wouldn’t stay up at night thinking about it. Over time that grew to about eighty posts in different states of completeness and it became overwhelming. 16,000+ words, terribly organized.

A flat folder full of alphabetically sorted markdown files was not intuitively useful. I had no idea which posts were most recent, which were almost done, and which needed to go away. Lots of those drafts were a zingy title and a vague one-liner of text. Reverse engineering my own ideas when I revisited them later was difficult. It became mentally taxing to manage my own blog.

In a fit of desperation, I took my posts one step away from “the metal” inside my GitHub repo and devised a new workflow that is a mix of new tools and process fixes that starts with: Do everything in Notion.

My Notion Kanban with 7 columns going from New Idea to done

Setting up a Notion-based Blogging Kanban

I reached for my favorite outbrain tool, Notion. I created a new Blogging database and added all my drafts to it. On my site I have a ~22 tag taxonomy to bucket posts which translates straightforwardly to multi-select fields in Notion. Once tagged, I could generate my first view: a Group by Tag kanban. This isn’t life-changing, but helps in a myriad of ways:

  • Scanning to see if I’ve already jotted down an idea.
  • If I have more to add to an existing topic, I can add to an existing post.
  • Visualize if my upcoming writing skews around a certain topic.
  • If I’m writing a talk or doing a podcast, I can quickly zero in on thoughts I’ve already had about a given subject.
  • Surfacing ambient tags gives me a perspective I never had at with a list of filenames.

Another problem I had with all my folder full o’ posts strategy was that I didn’t know whether a post was nearly done or a scrap of an idea. I was lost. Every two months or so I’d have to click through each file to repopulate my memory buffer with the statuses of each post. A lack of a system made it more difficult and time-consuming maintain.

I created new status column and a Group by Status kanban. I started with a generic set of kanban statuses: TODO, In Progress, Done but found it wasn’t expressive enough for me to capture all the states my ideas live in. I now leverage a system of ~7 statuses total:

  • No status: An idea I farted into the universe
  • Outlined: At least 3 bullet points around a single idea
  • Started: Bullet points shaped into paragraphs
  • Rough Draft: I’ve put a decent amount of time into it, needs revisions
  • Final Draft: Done and ready to export as Markdown
  • Published: Post is live, case closed
  • Deadpool: The recycle bin of ideas

One recent improvement I’ve made to the kanban is sorting columns by Last Updated. This gives me a “What’s hot” vibe for each column. It helps me keep momentum on my latest ideas —a freshness seal— to keep them from falling out of view.

If a post makes it to the Final Draft stage, I export the markdown and images and pull it into my repo for some last-minute grooming. I can explain my Pre-Publish Ritual in another post, but it’s an attempt at quality control before the post goes public. Do typos and grammar errors still get through the filter? Yes.

Outline or go to the Deadpool

Another process rule is that I now require outlines for any new idea or else it risks the Deadpool. If I can’t solidify at least three bullet points, then it’s probably not worth my time or my effort for the kind of longer-form blogging I tend to do. It’s also helpful to future me sorting through ideas in the future.

The Deadpool is a consequence (or a surrender) that an idea is either not great or not relevant anymore. Like my post on smartwatches, or my post about database query golfing I started seven years ago, or my roundup post of my favorite 2019 advent blog posts. It’s the homies that didn’t make it. There’s no shame in an idea petering out or expiring due to missing a window of opportunity. Sometimes, getting an idea written and out of your head is half the battle.

“Agile is a crank.”

One friend I showed my blogging kanban to said, “That gives me anxiety”… And they aren’t wrong. Agile can be traumatic. My friend Kevin Hoffman, an author on Meeting Design, once told me something I’ll never forget, “Agile is a crank.” And that’s ultimately how I see this; as a tool. Something I can use to get the machine turning when I need it.

This process industrializes my blogging hobby and creates a gigantic backlog but my previous process created a backlog of 16,000+ words of unmanaged ideas floating around in a _drafts/ folder. I needed a tool to make sense of those words. My process is still pretty whimsical. It doesn’t feel like an endless death march across columns, but a tool for organizing my ideas. The automatic sorting by Last Updated has been a godsend for me in keeping fresh ideas at the top.

It’s overkill, but it’s my overkill, and I love it.

Does it work and has it turned me into a prolific daily blogger? No, not at all. But when I have the time and ambition to blog; I’m already prepared, I have a process in place, and more than a hundred well-organized ideas waiting for me.