It's used not just for time-sensitive tasks but also not to over-engineer stuff during hyperfocus.
nagme () {
[ "$#" -ne 2 ] && printf "usage: $0 [in_minutes] [text]\n" && return 1
printf "sleeping $1 min before telling you to $2\n"
sleep $(echo $1\*60|bc)
espeak "$2" > /dev/null 2>&1
while :
do
sleep 30
echo -n '.'
espeak "I'm nagging you to $2" > /dev/null 2>&1
done
}