Show TickTick countdowns above your todo list

I’ve been using TickTick as my todo list and it’s been working nicely. Recently, they added the countdown feature, which is great but it’s also off in its own tab so hidden away. I personally find the presence of the numbers to be a great motivator so I wanted to place them above my todo list so it could help me focus and prioritise what needed to be worked on before the milestone dates come to pass.

To achieve this, I’m running a TamperMonkey script which allows me to run additional Javascript on the page. It inserts an iFrame with a second instance of TickTick above the task list. It’s a janky solution but I didn’t feel the need to refine it any further, especially as I hope that TickTick will continue to add enhancements to the countdowns themselves so that the script is not necessary. I have made feature requests to them to make these changes and suggest that if you also think

Instructions

Install TamperMonkey:
https://www.tampermonkey.net/

Add a new script to TamperMonkey:

From the TamperMonkey extension menu choose “Create a new script…”

Paste the below code into the editor


// ==UserScript==
// @name         TickTick Countdown View
// @namespace    http://tampermonkey.net/
// @version      2025-05-12
// @description  Display countdowns above the task list
// @author       You
// @match        https://ticktick.com/webapp
// @icon         https://www.google.com/s2/favicons?sz=64&domain=ticktick.com
// @grant        window.onurlchange
// @noframes
// @run-at       document-idle
// ==/UserScript==

// Add an iframe to the page to open the TickTick countdown page
const countdownFrame = document.createElement("iframe");
countdownFrame.id = "countdown-frame";
// Appearance settings
countdownFrame.style.zoom = "0.5";
countdownFrame.style.height = "280px";

(function () {
  "use strict";

  addCountdownFrame();

  // Listen for navigation and add the countdown frame when navigation occurs.
  if (window.onurlchange === null) {
    window.addEventListener("urlchange", (info) => {
      addCountdownFrame();
    });
  }
})();

function addCountdownFrame() {
  if (countdownFrame?.src !== 'https://ticktick.com/webapp#countdown') {
    countdownFrame.src = "https://ticktick.com/webapp#countdown";
  }
  // Only add the countdown frame to the tasks page, above the task list view
  if (window.location.hash.endsWith("/tasks")) {
    // wait for the task-list-view to be available
    const interval = setInterval(() => {
      const taskListView = document.querySelector("#task-list-view");
      if (taskListView) {
        clearInterval(interval);
        const firstChild = taskListView.firstChild;

        // add countdownFrame as first child of task-list-view
        if (firstChild?.tagName !== "IFRAME") {
          // add countdownFrame as first child of task-list-view
          taskListView.insertBefore(countdownFrame, firstChild);
        }
      }
    }, 1000);
  }
}

Blaugust Archeology

I was going to write the short version of this as another Mastodon reply to a thread that Belghast tagged me in a little while back but I realised, hey, it’s a free blog post for day 3. Let’s crank this out and be in bed before 2AM 😉


So I did the traditional walk down memory lane for the start of the month and it seems like we landed on “Blaugust” spontaneously during our group’s first blogging festival.

The original name, if it had any, was “blogfest”, which was already corrupted by the time I made my first post of the event.

While other participants also called it “Blagofest” on day 1, UnwiseOwl, the instigator of the challenge took a much classier approach to it, dubbing us the “Augustinians”. Yes, this ties into his occasional papal blog content. Despite this seeming to be a natural term for those who take on the Blaugust challenge, I haven’t seen it widely used. Maybe we can lay claim to a little bit of original etymology there 😉

In the replies to Owl’s post, you’ll see I made a comment about the “Baubloggers”. Perhaps this was the seed that planted the next corruption into “Blaugust”, which was quickly coined on a Day 2 blog post.

By Day 8, UnwiseOwl caves to “Blagofest”, but “Blaugust” is yet to take hold. It takes another week until he concedes to “blAugust“, but it’s almost as if he still disavows it, calling it “Ale’s blAugust adventure”.

Come August 31st and September 1st, “blAugust” appears to be the victorious moniker. UnwiseOwl is the first gold star member of our group of Blaugustines – having successfully posted every day of the month. One of the blogs died an honourable death, having been set to self-delete if no new fiction was published each day. Another blog appears to have been lost to the mists of time.

Come 2012, there’s no question of what we’ll call our now-annual blogging festival. It’s canonised as Blaugust.

Despite my earlier claims on Mastodon, I found during research for this post that we certainly can’t hold any claim to the name (there are blogs still alive from 2010 and perhaps earlier that called the “Blog Every Day in August” challenge “Blaugust” rather than “BEDA”). It’s possible that we were unaware of these earlier efforts because Twitter didn’t have a great text search, and the first hashtags don’t start appearing until later years.

That said, I still believe that it was because of Twitter that we did quickly discover Belghast’s Blaugust when it began, and it’s been inspiring to see that the stewardship he’s provided has made the event one with staying power.

Alright, it’s definitely past 2am. Day 3, out!