May Productivity Gains

I wrote (most of) this post from Google Docs!

Since doing my latest retrospective, I started investigating more productivity techniques. For starters, I gave my blog and blogging process a little more love. Next, I found ways to better track my tasks and control my time wasted on less valuable things.

Table of Contents


Theme updates and gists

When I first moved to Ghost over a year ago, there was no Search feature built in. So, I built a basic one using their API and inserting it into a custom version of one of their open source themes, Journal. I made a few other custom tweaks to this theme over time. My process was rudimentary:

  1. Make tweaks on my local computer
  2. Zip the changes into a .zip file
  3. Upload the changes within the admin portal

As a developer, I knew this wasn’t ideal, but since I made updates very rarely, it didn’t really matter to me. I at least kept a local git history and had a remote version backed up in a private repository.

However, I realized it’s been a long time since I merged in updates from the original theme, while I’ve been updating the Ghost engine. I figured at some point my old (custom) theme version would become incompatible with my Ghost engine version.

With some sense of professional pride, I explored the Ghost integrations catalog. I came across a Github Actions integration and set that up. Now I have a repository that is properly forked from the original theme repository, and when I make non-breaking changes to the main branch, the Github action automatically updates my theme on my live site. Yay! I can also set other branches if I like to play with multiple versions before committing changes to my main branch. I’m still sorta “testing on production” with this flow since I don’t bother spinning up a local instance beforehand, but that’s ok with me. This automation has saved me so many manual steps!

As a bonus, the Github Actions integration better formats code gists from Github.

Back to top

Google Docs post drafts

The other integration I found that looked helpful for me was this Zapier and Google Docs one. Before this integration, my blog post process either involved me creating drafts directly in the Admin UI or within Google Docs, with a manual copy-and-paste into the Admin UI after that. Using the Admin UI is pretty nice on Desktop, but quite buggy on phone. When I want to write out my thoughts on the go, I would do the Google Docs route, but again the transcription to the Ghost Admin UI afterward was a bit toilsome.

To streamline part of this process, I needed to create a Zapier account, which I learned augments many kinds of automation tasks. Then I needed to authenticate with my Ghost account and Google Drive account (pointing to a specific folder). Now I can just write out my thoughts and not have to copy and paste!

Okay, it's not as streamlined as I'd like. Once I put a doc file in the designated Drive folder, Zapier syncs that version of the doc to my Ghost drafts, but doesn't sync again after that... So if I update the doc, the draft in Ghost is stale forever. That means I need to have a separate drafts-for-my-drafts folder in Drive, then drag the near-finished version to my syncing folder, then touch things up in Ghost Admin UI. I am not sure if this is a limitation of the free Zapier tier--I read that syncs only happen every 15 minutes, but not that the Docs-to-Ghost sync happens only once at all per file, in 15-minute intervals... ¯\_(ツ)_/¯

Also, Google Docs has a decent Table of Contents generator feature. I was super excited at the thought of automating this for my blog posts because creating them from scratch is a big pain. However, the Docs ToC does not render well with Ghost – the formatting is off and the links are broken. :( But I at least get all the header text listed out for me.

Back to top

Trello for task tracking

For a long time, I’ve wanted something like JIRA but free and lightweight for personal use to track tasks. Google Tasks work well for small things that should happen on certain calendar dates and can (or must) be completed in a timely way. However, I wanted something else that could help me track things that weren’t necessarily tied to a calendar date, and more importantly, had varying levels of progress–much like the Kanban swim-lanes of To Do, Triaged, Doing, Done.

I played with other apps like Asana, Evernote, and Notion, but they either were too much for my needs, they weren't free, or both. Then I came across Trello, and so far it's ticked off the boxes for me in terms of being free, simple, and reliable. The interface reminds me a lot of Shortcut.

Back to top

Wasteful website limiters

I found a browser extension for Firefox desktop called Limit that lets you set time limits on specific websites. My guilty pleasures on the desktop lately have been Reddit, LinkedIn, and Youtube, so I set limits of no more than 25 minutes a day for them each.

For my Samsung phone, I happily discovered that Samsung has built-in functionality to limit specific apps to a certain amount each day. I have already deleted the Youtube app (again) from my phone and haven’t had games on it for years (?). However, I’m even worse at surfing the Internet for random junk – and not just in the above websites I identified for desktop, but all sorts of clickbaity things that are easy to consume but then easily consume me (my time)! So, I initially set a limit of 1 hour on my browser app - - there isn’t a way I can figure out how to limit specific websites, and anyway, as I mentioned, I can get lost in almost anything. Unfortunately, 1 hour seems to be too little for me… so for now, I have it set at 1 hour 45 minutes. My goal is to get it down to 1 hour again.

Regardless, I still find myself wasting time on my communications apps – Slack and Discord in particular. I think my next task is to limit Discord to 30 minutes, and Slack to 2 hours – to be fair, I need Slack for work, especially for when I’m on call. But I’m not on call most of the time (thank goodness), and I shouldn’t be looking at work Slack otherwise.

Back to top