Saving time with patterns and automation
Mohd Shamoon
June 11, 2021

While working on Glific and thinking about how chatbots work it suddenly stuck to me that if the conversations can be automated why not anything else that I work with.

In every automation, there is always a pattern that emerges and we automate based on that pattern.

Thinking about these patterns and while writing some code I immediately thought of a place where I have patterns in my work.

It was how I started my day with Glific. I noted down the things that I did while starting my work and came out with these:

  • Open my Editor (VS code) and go to my project repository.
  • Since Glific has a split tech architecture. It has a separate frontend and backend
    • Go to the frontend directory in the terminal and start the frontend server
    • Go to backend directory in terminal and start the backend server
  • Open discord, which is the messaging platform we used to communicate in Glific. 
  • Open Google Chat for internal communication.
  • And finally open chrome with Glific’s GitHub repository where I need to check the status of things.

These things take around 5 minutes and I did these 3 – 4 times a day.

I thought if these are the steps that I need every time while I will work on Glific why not just automate them.

So I created a command with Zsh shell and named it glific. The command runs a script that does these exact things for me every time I run this command.

A quick demo here:

This helped me primarily in these two things:

  • I don’t have to think if I am missed running any servers or missed starting any chat application.
  • if I have to switch to any other thing then I don’t have to worry about repeating those steps again.

Some may think that it is just a small amount of time and why take the effort to automate it but if you think about the overall picture, It saves around 10 minutes each day.

“And if you think about time then each second of life is valuable”

Here is the list of commands that I used:

  • Open chrome in with a specific URL: open -n -a ‘Google Chrome’ –args ‘–new-window’ “ “
  • Open Discord: open -a Discord