DEV Community

Cover image for Lessons From My One-Month Writing Milestone
Dennis O'Keeffe
Dennis O'Keeffe

Posted on • Originally published at

Lessons From My One-Month Writing Milestone

πŸŽ‰πŸŽ‰πŸŽ‰ Today marks the one-month milestone of active writing! πŸŽ‰πŸŽ‰πŸŽ‰ This milestone was one that I had set in mind when beginning on June 22nd and I wanted to reflect on some learnings, achievements, and earnest thoughts I've had about the future in writing.

✍🏾 The Why

This year has brought many challenges with it, but it has also been a great opportunity to take on other challenges and use this time at home to learn and apply more.

I've always been in awe of those who write. I have always been consuming great content and applying it to my work, but never truly giving back to the community. This made the decision to begin writing an easy one with all this newly found free time!

Another contributing factor was the inadvertent improvement of my communication soft skills while writing. That's just a delightful bonus.

πŸ§—β€β™‚οΈ The How

With isolation comes great no responsibility. My mornings had freed up considerably, and I had a few options with how I wanted to fill that void. Beginning from June 22nd, I would wake up, make some tea and head to the desk, and put something together in the few hours before work.

I wrote code to post across to my three websites of choice:

  1. My personal blog
  2. Dev.To
  3. Medium

This code included scripts to modify the markdown based on the platform it was heading to, as well as a script to generate the heading images based on the tags, heading, and a custom query I could provide. It pulls an image from Unsplash based on this annotates it and then updates the markdown to create the image author. This frees up about a solid 15-20 minutes each morning which has also already saved around 15 hours of my time in just this month alone.

While I am typing away in my code editor, I did add the "spell check" VSCode extension after realizing how awful my spelling can be when typing away with proofreading, but I also plan to update this down the track to include grammar and spell checks as part of a Git Hook. I also plan to incorporate a webhook to automate sharing the content to Twitter for me after posting.

πŸ“ˆ The Facts

Here are some overviews from my different mediums.


The numbers are modest, but worth sharing for transparency!

  1. My blog site has had 344 sessions with an average duration of about two and a half minutes.
  2. My personal website now seemingly ranked 3rd for "Dennis O'Keeffe" when searched on Google - a massive improvement from what I had before.
  3. My GitHub account has 17 new followers.
  4. My Twitter account has about 27 new followers.


My Dev.To is where I have been most active outside of my posts. I've always enjoyed the community there and learned a lot, so I've tried to be more actively involved in other discussions outside of my posts.

As for the statistics:

  • I wrote 47 posts (wowsers now that I think about that).
  • 561 new followers.
  • 21,751 post views.
  • 1,226 reactions.

My top five ranking posts have been:

  1. The 9-Step Plan For Becoming Dangerous In Any Language
  2. 7 CSS Tips To Save Your Sanity
  3. 4 Easy Steps To Building Your First Twitter Bot With JavaScript
  4. Docker + GitHub Actions = Your Next Productivity Superpower
  5. O(1) Reloading With Create React App

Unsurprisingly, the "listicle" posts have performed the best. I've been tossing up what sort of content to write.

Some listicles I read are definitely great and can succinctly give great advice and resources, but sometimes I've wanted to try to write more in-depth on solutions/fun projects I have done. The articles I've enjoyed writing the most that did not perform well:

  1. Building an Alfred extension for my developer notes
  2. Eliminating 20k lines of code with the Babel AST Parser
  3. Using the AWS CDK to send a serverless Slack message
  4. Scraping websites with Xray
  5. Impressing Friends at (Isolation) Parties with Mermaid Diagrams
  6. The ABCs of Rate Limiting ExpressJS Servers with Docker + Redis
  7. Build a CLI Puppeteer tool to screenshot all the things!

These could be a mix of being niche, being too early in my writing this month, having sub-par titles, having inaccurate tags, or my inability to explain the benefits of taking what you learn from there and expanding upon them. Regardless, these quirkier tutorials are definitely around projects/TILs that I have enjoyed most!


Medium has been where I've had to least success - I did not share as much content there as I have for Dev.To. The reason for that simply being a mix of the paywall and a strange limit to how much I could share in a day. As for the numbers:

  • 284 reads.
  • 14 fans.
  • I've made about three Australian dollars (half a coffee woo!).

I've had five articles selected to be shared for both the "Programming" and "JavaScript" topics:

  1. The 9-Step Plan for Becoming Dangerous in Any Language
  2. Docker and GitHub Actions
  3. The World’s Most Gentle Introduction Into Functional Programming
  4. O(1) Reloading With Create React App And Snowpack
  5. Using the AWS CDK to send a serverless Slack message

I've also ended up being published in five different publications:

  1. The Startup
  2. Better Programming
  3. JavaScript In Plain English
  4. Level Up Coding
  5. Dev Genius

At the time of writing, there have been offers for two other publications that I have not acted on. Why? Mainly because I do not spend too much time pushing my content to Medium just yet.

Messages from content curators for these publications also come off as more robotic, so it very much could be an automated approach. I know very little about it.

The fact that I've had 21k+ views on Dev.To and only about 746 on Medium may also say something about Medium's paywall or the goto for developers in 2020.

πŸ€” What Next

Writing vs Coding

I do want to slow down on the writing. I have thoroughly enjoyed my month, however, there are some realities I need to face.

Writing from 6 am until work at 9 am and then working through to 5 pm is not sustainable. It has been great during isolation, but if this nightmare ever ends then I would like to go back to exercising or climbing in the mornings.

I've been spending most evenings after-work doing my pet projects (normally coding after dinner until bed) which again will very likely change once things get back to normal. For now, it is perfectly fine with me! I still have four more weeks of lockdown to go here in Melbourne.

When push comes to shove and things do change, writing will take the hit when I need to make the choice between focusing on that or coding with the reduced free time.


I decided I would begin curating a few weekly newsletters!

I have already started with a general one for developers, but am also looking to pull some together for the languages I am most interested in or work with the most at work:

  1. Gopher Gold for Golang on Tuesdays.
  2. Rusticles for Rust which will come out Wednesdays (first one today!).

There will also be ones I start for JavaScript, Python, and some other topic(s) (thinking a general AWS one). These newsletters are really just a way to centralize my own interests into a reading list that I can go through each day of the week.

It will start simply as blog posts for now but may become email chains down the track.


I want to begin practicing my skills on the microphone and reflecting on how I speak in a public forum, so I am hoping to begin taking one of the newsletters each week and speaking on the news coming out from there!

Like the writing, I do not want to spend more time than necessary to publish podcasts, so I will do my best to find a way to automate the mastering and distribution of content.

πŸ“– Summary

What a month it has been! All-in-all, it has been a great way to start my mornings during the lockdown.

Slowing down to write a blog post has also meant understanding more about a topic in order to convey what you are trying to share.

It has also been great to get feedback from others to help me on my own journey.

I am very much looking forward to persevering and continue sharing, even though this may mean slowing down the posts-per-month!

Image credit: Pascal Debrunner

Originally posted on my blog. Follow me on Twitter for more hidden gems @dennisokeeffe92.

Top comments (2)

ruannawrites profile image

I loved reading about your one-month writing routine! I always want to write more but struggle with making time/making it a priority. I love how you used your extra time in the morning to write every single day and tested out publishing on a few different platforms. You've inspired me to start something similar! Any tips for someone embarking on the one-month writing milestone? 😊

okeeffed profile image
Dennis O'Keeffe

Hello Ruanna! I am glad you enjoyed! Good question, I think my retrospective tips are this:

  1. Define your end-goal. Mine was a mix of sharing, combatting unnecessary sleep-ins and improving writing. The quantity certainly helped me personally learn, but very unsure about the quality some days, which leads me to the next learn...
  2. Set a reasonable first milestone to celebrate. I set the 30 days, but I went with the goal of writing every day. Admittedly, that is not always feasible and sometimes I was in a rush. I feel if I put more emphasis on just sitting down and writing for 20-30 minutes each morning instead of "I need to get something out each day" would have been a nicer approach. Setting unreasonable deadlines on yourself is never fun but we all do it.
  3. Write about what you're learning or doing. It really helped me to write about what I was learning or doing. I did borrow some time at work to slow down and write things clearer. Writing has the added benefit of helping you digest information if you are sharing.
  4. Automate where possible. This in itself isn't always feasible, but you can get creative. It saved me a bunch of time and you can use what you create for some post ideas.

For (4), a number of the posts I actually wrote were things I ended up building to help automate my blog posts.

  1. Programatically create or update GitHub files - I wrote this after writing a script to add blog posts to my GitHub remotely (my blog repo has a Netlify integration to always rebuild and deploy my updates when the main branch changes).
  2. Scraping websites with Xray - I built a website scraper to collect news from my favourite resources so I could be inspired for what to write next.
  3. Build your own code generator in JavaScript - I used this to help generate my basic blog markdown files with command line arguments.
  4. Build a CLI Puppeteer tool to screenshot all the things! - I built this to build tools to start screenshotting LaTeX and RoughJS which you can see in other blogs posts here and here respectively)
  5. Docker + GitHub Actions = Your Next Productivity Superpower - I wrote this while build a GitHub action to automatically Tweet new posts, which combined with...
  6. 4 Easy Steps To Building Your First Twitter Bot With JavaScript - when I was going through the process of building the bot for that GitHub action.

Apologies that this is a long reply, but hopefully those tips are an earnest retro on it! Lastly, I'd say don't be too hard on yourself if you have other priorities. Now that I'm past day 30, I am certainly going to slow down and get into something else I enjoy!