How I brainstorm and write a blog post a week - 3 steps to fuel and create

When I first started writing on this blog, a post took me weeks to complete. Since then, my speed has increased greatly, and for the last few months I have published posts on a weekly cadence.

In the spirit of this blog, I experiment and iterate on how to do more with less time. Here, I share how I continuously generate ideas, as well as the process of getting from a blank page to a complete article.

Creative flow, destructive flow

When writing, we’ve all encountered times when, no matter how long we stare at the screen for, nothing seems right. We backspace and rewrite, only to discard the new sentences again.

The reason why it seems that no progress is being made in that scenario, is because the processes to create (write) and destruct (edit, polish) are best kept separate.

I first came across this idea from a Scott Young blog post, where he elaborates: The “creative flow” is when one generates ideas, but with low standards and no editing, since “perfectionism pushes away from creating ideas.”

Then, after sufficient ideas or draft content have been created, one can go about polishing the ideas, which is the “destructive flow”.

Trying to do both at the same time is like trying to make a sculpture out of marble, but the block of marble keeps growing in size, covering the chisel work, causing there to be no progress.

Step 1 - Idea marination and bullet point outline

The creative flow, destructive flow concept helped me in how I generate ideas and write my posts, speeding it up so much that I went from writing monthly to weekly, a 4x difference.

Each week, usually on Sunday morning, I pick a topic from a list of topics I’ve been gathering for months. If a good idea comes up that week or the morning of, I might write about it immediately instead of picking from the list.

As long as I can generate one or more ideas for blog topics a week, which can be inspired by conversations with others, or grabbing examples from my career journey, the list grows faster than I can write.

Once the week’s topic is decided on, I use the morning to “marinate my thoughts”. I also refer to this process as “productive meditation”, which is detailed in this post. While doing dishes and making coffee, for example, I think about the structure of the blog post, and how to explain each point.

Once the points have been marinated, I return to my computer and jot down headers and sub-headers of the blog post. Nowadays I do this in Notion, but I did it on pen and paper for years. I recently changed the medium due to portability.

The outline for this very post - marinated for several days, jotted down in 10 minutes. The outline for this very post - marinated for several days, jotted down in 10 minutes.

Above is the exact outline for this post. It took 10 minutes to jot down, but had been marinating on and off for a week or so, since someone asked me about how I write my blog posts.

Step 2 - Brain vomit draft (Creative flow)

Internally I call this second step “brain vomit”, a disturbing yet accurate description. Remember how I mentioned that the creative flow and the destructive flow should be separate, to avoid conflicts?

Due to that reason, when I write my first draft, I actively avoid using backspace (apart from typos or obvious grammatical errors), and don’t worry about flow, sentence structure, or minor grammatical errors.

I follow the bullet point outline, and type out my stream of consciousness to explain each point.

If I require a reference in the post, I don’t stop my draft writing to find hyperlinks, and simply make a note to insert it later. For example, in my draft I’ll type “link to data science interview post here”, which I then add during the destructive flow (editing).

I adhere to the pomodoro timer (50 minute writing, 10 minute break) throughout this process. Sometimes, the words don’t flow from my brain to the keyboard, but that’s fine.

When stuck, I sit in silence to think, instead of getting distracted and checking social media or email. The train of thought will come, it might just be in a tunnel right now. But if you get distracted, your brain won’t be ready to pick up on the thought once the train is back out of the tunnel.

Depending on the topic and how much I marinated the bullet points, writing the brain vomit draft can take 2 to 3 hours, or longer.

I find that I consistently end up with 70~100 lines in Visual Studio Code by the end of this step, including some blank lines between paragraphs and headers. At an estimated 17 words per line, this makes 1,200~2,000 words for an average first draft.

Note that when I first started out, I didn’t have such a consistent word count across posts, but after 4 years of writing, my brain seems to subconsciously break out the bullet points in a way that results in this blog post length.

Step 3 - Edit and polish (Destructive flow)

After writing the first draft in step 2, I take a break of at least an hour.

You might be familiar with the fact that it’s difficult to edit one’s own work. Since the writer has been deep in the weeds with the draft, it impacts their ability to edit the same piece on a more abstract level.

I don’t have an editor for this blog, so I try to mitigate that by making sure I take a step back and clear my mind of the blog post in progress. For example, I eat lunch, or play video games.

After an hour or more passes, I then return to the draft, and start editing it from top to bottom, line by line. At this stage I am finally allowed to liberally use the backspace key, which I actively avoided during the brain vomit writing.

During this step, I take time to polish the formatting of paragraphs and images, and look up hyperlinks for any sources and references. I then remove to-do notes and comments. Since my posts are formatted with Markdown, I also make sure there are no code errors (missing a [ for example).

Git-backed writing. Git diff one editing round of this blog post. Git diff one editing round of this blog post.

Sometimes I end up rewriting or cutting entire sentences or paragraphs. Here I’m less adamant on separating the creative and destructive flows, since rewriting a paragraph is more like repainting a wall, rather than setting up the skeleton frame of a building from scratch.

Depending on how much I procrastinated in the morning and afternoon, I might edit an article more than once, making sure to take another break between editing rounds to freshen my mind.

Once the article is edited and polished, I git merge the Markdown file! I use a git-backed Jekyll site, so merging to the main branch makes the post live - more details on how this blog is built in this post. I also send it to my newsletter.


Following my 3 steps for writing, I have consistently written blog posts about my time management experiments, data science career, game development, and more.

This 3-step process came from many months of experimentation, and was what helped me up my cadence of writing from once a month, to bi-monthly, to now weekly.

I have been asked how I write my posts and how I don’t seem to run out of ideas, so I’m glad I marinated this idea enough to summarize my process in one place. I hope it helps you in any way!

More articles about "tech blog how-to"

Affiliate disclosure: The content on this site is reader-supported.
As an Amazon Associate, we may earn commissions from qualifying purchases from