How to automate Google Calendar without ...

How to automate Google Calendar without automating it

Sep 29, 2023

Disclaimer: This is an article semi-joke and written for entertainment. While you can use the result of this work as a baseline for your project and automate your routines, this isn't considered the best and recommended practice in common sense. Use it for fun or if you cannot find a better solution :) Also, it is an actual project I use.

CONTEXT:

I find myself under piles of tasks that aren't getting done in specific periods. There are many reasons for this effectiveness drop: complexity of tasks, high load, or anything else you name (obstacles/excuses). Recently, I was reading inspiring books such as:

Discipline Is Destiny: The Power of Self-Control by Ryan Holiday

The Monk Who Sold His Ferrari: A Fable About Fulfilling Your Dreams and Reaching Your Destiny by Robin Sharma

Both present ideas of discipline, self-fulfillment, and a more self-aware, rich life experience.

SOLUTION #1:
I decided to write an integration with Google Calendar to pull the tasks I have for the period, be it today, last week, or last year, and resolve them individually in a particular order. This was an open-ended issue, as the algorithm, period, and everything could be adjusted or could be plug and play.

Technical side: Google Calendar has several APIs, such as Google Calendar API and Google Tasks API. Both of them appear on the calendar, and the difference is indistinguishable. In my case, I wanted to have habitual routines and tasks, so I had to use Tasks API with recurring tasks. This solution didn't happen as Recurring Tasks are processed differently from singular tasks, and API has never been exposed publicly. There is an open issue, for that matter. :(((

SOLUTION #2:

After thinking of solution #1 and researching possible scraping techniques, I landed on the "universal" solution as it is decoupled from any concrete calendar. The question I asked myself in rethinking is, what do I need? The answer was: "I want to do my tasks and ensure that nothing is left behind". Practically, it means that even on certain days I cannot do everything planned, I still want to return to my tasks and ensure I do them eventually. This is an attempt at implementation of the concept "eventually done". The project runs as a Python command line where you choose the period from the start. As you progress over the tasks, you need to answer y or N, so dates that y(-es) have all tasks done are written to a file and never asked about again. All the rest are in the indefinite loop, so you can use it as a conveyor and solve them individually, in batches, or any other model you decide.

GitHub repo of the project. To use it, you need to have Python installed. Read more information in README.md.

THOUGHTS:

While this solution looks elementary and rather simplistic, I have been using it for the last couple of weeks. It allowed me to unload my brain of feeling "not doing anything" as I progressed from task to task. It also let me procrastinate less as I had only one task every moment, so I had no mental choice challenges. While this is not precisely discipline in the sense that I do the same tasks every day in specific time frames, this is a discipline from the perspective of "focus on one task at a time", "get things done", and "be in a flow".

AFTERTHOUGHTS:

While this solution is simplistic and doesn't incorporate all the needs, it is a small step forward to time management and one of the possible solutions. This is not the final solution but a snapshot of my current fun project for time management and self-mastery.

Enjoy this post?

Buy chameleontartu a coffee

More from chameleontartu