Reminders and Pomodoro
Reminders on your phone are nice, but they’re tied to the phone. Via Notifly they arrive on all your devices at once: phone, work laptop, home desktop.
One-time reminder via at
Section titled “One-time reminder via at”echo 'notifly-send "🔔 Встреча через 5 минут" "Zoom: ..." 8' | at now + 25 minConvenient wrapper:
#!/usr/bin/env bash# ~/bin/remind — `remind 30m "Чай заварен"` / `remind "20:00" "Звонок маме"`WHEN="${1:?when}"; shiftMSG="${*:?message}"echo "notifly-send '🔔 $MSG' '' 6" | at "$WHEN"remind 25m "Кофе"remind 17:30 "Уйти забрать ребёнка"remind "tomorrow 9am" "Отнести документы"Pomodoro timer
Section titled “Pomodoro timer”#!/usr/bin/env bash# ~/bin/pomodoro [WORK_MIN] [BREAK_MIN] [CYCLES]set -euWORK=${1:-25}; BREAK=${2:-5}; N=${3:-4}
for ((i=1; i<=N; i++)); do notifly-send "🍅 Помидор $i/$N" "Работа $WORK мин." 5 sleep $((WORK*60)) notifly-send "☕ Перерыв" "Отдых $BREAK мин." 5 sleep $((BREAK*60))donenotifly-send "🏁 Pomodoro завершён" "$N помидоров готово." 6pomodoro # 4 × (25/5)pomodoro 50 10 3 # 3 × (50/10)Regular reminders via cron
Section titled “Regular reminders via cron”# Weekdays at 13:00 — lunch0 13 * * 1-5 ~/bin/notifly-send "🍽 Обед" "" 5
# Every hour — stand up and stretch (work hours only)0 10-18 * * 1-5 ~/bin/notifly-send "🚶 Встать и размяться" "" 4
# Sunday 21:00 — plan the week0 21 * * 0 ~/bin/notifly-send "📅 Спланировать неделю" "" 6Quiet vs loud reminders
Section titled “Quiet vs loud reminders”Control behavior via priority:
| When | Priority | Effect |
|---|---|---|
| “Stand up” | 1–3 | silent, badge only |
| “Lunch” | 4–5 | standard sound |
| “Meeting in 5 minutes” | 7–8 | loud, bypasses DND according to OS rules |
| “THE PLANE IS TAKING OFF” | 9–10 | maximum, separate sound |
See the priority table.
Windows: schtasks + PowerShell
Section titled “Windows: schtasks + PowerShell”The equivalents of at and cron on Windows are schtasks.exe and Task Scheduler. It is assumed
that the Send-Notifly function is already loaded in the PowerShell profile
(see the instructions).
One-time reminder
Section titled “One-time reminder”param([Parameter(Mandatory)] [string]$When, [Parameter(Mandatory)] [string]$Message, [int]$Priority = 6)
# When: "25m", "2h", "20:00", "2026-04-23 14:00"$target = if ($When -match '^(\d+)m$') { (Get-Date).AddMinutes([int]$Matches[1])} elseif ($When -match '^(\d+)h$') { (Get-Date).AddHours([int]$Matches[1])} else { [datetime]$When}
$taskName = "Notifly Remind " + (Get-Date).Ticks$cmd = ". `$env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1; " + "Send-Notifly -Title '🔔 $Message' -Priority $Priority"
$Action = New-ScheduledTaskAction -Execute "powershell.exe" ` -Argument "-NoProfile -WindowStyle Hidden -Command `"$cmd`""$Trigger = New-ScheduledTaskTrigger -Once -At $target$Settings = New-ScheduledTaskSettingsSet -DeleteExpiredTaskAfter (New-TimeSpan -Minutes 5)Register-ScheduledTask -TaskName $taskName -Action $Action -Trigger $Trigger -Settings $Settings | Out-NullWrite-Host "Напомню в $($target.ToString('HH:mm yyyy-MM-dd')): $Message"Usage:
.\Remind.ps1 -When "25m" -Message "Кофе".\Remind.ps1 -When "17:30" -Message "Уйти забрать ребёнка"Regular reminders via schtasks
Section titled “Regular reminders via schtasks”# Weekdays at 13:00 — lunchschtasks /Create /TN "Notifly Lunch" /SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 13:00 ` /TR "powershell.exe -WindowStyle Hidden -Command `". $env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1; Send-Notifly -Title '🍽 Обед' -Priority 5`""
# Every hour 10–18 — stretchschtasks /Create /TN "Notifly Stretch" /SC HOURLY /ST 10:00 /DU 08:00 /K ` /TR "powershell.exe -WindowStyle Hidden -Command `". $env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1; Send-Notifly -Title '🚶 Размяться' -Priority 4`""Pomodoro in PowerShell
Section titled “Pomodoro in PowerShell”param([int]$WorkMin = 25, [int]$BreakMin = 5, [int]$Cycles = 4). $env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1
1..$Cycles | ForEach-Object { Send-Notifly -Title "🍅 Помидор $_/$Cycles" -Message "Работа $WorkMin мин." -Priority 5 Start-Sleep -Seconds ($WorkMin * 60) Send-Notifly -Title "☕ Перерыв" -Message "Отдых $BreakMin мин." -Priority 5 Start-Sleep -Seconds ($BreakMin * 60)}Send-Notifly -Title "🏁 Pomodoro завершён" -Message "$Cycles помидоров готово." -Priority 6Benefits
Section titled “Benefits”- The same reminder on all your devices simultaneously.
- The flexible
atsyntax — far more powerful than a calendar. - No third-party todo service required —
cron/atare already on the system.
What to improve next
Section titled “What to improve next”- TUI on top of
at -l: view scheduled reminders. - Voice “remind me in 2 hours” syntax — integrate with local STT.
- Integration with calendar (
*.ics→ cron job).