Autonag is a recurring-task tracker with a gentle but unignorable alarm. It never forgets. It never stops. Until you do the thing.
Add a task with a deadline. When the deadline arrives, the alarm starts ringing on any device you have open to the alarm page. It doesn't stop until you complete the task, snooze it, or silence it. Recurring tasks automatically reschedule.
Leave any device on the alarm page and it will ring when the time comes. No silent badges — it demands attention.
Mark a recurring timer done and the next occurrence is scheduled automatically — same time, every cycle.
Temporarily silence the alarm for 30 minutes, an hour, or however long you need. It will be back.
Every action is recorded. Undo or redo any event. The entire history is replayable and inspectable.
Every timer is colored by how much time remains. Open the app and you know instantly what needs attention — no reading required.
Every action you can do in the app is available from the command line. Script it, automate it, or let your AI agent run it.
$ autonag timers add "Weekly review" 7d --days 7 --anchor 09:00 $ autonag timers list ID Name Remaining Recur ------------------------------------------------------------ a1b2c3d4… Take vitamins in 8m e5f6a7b8… Reply to landlord in 44m b3c4d5e6… Weekly review in 3h ↻ f7g8h9i0… Doctor follow-up in 1d $ autonag alarm show [red] "Take vitamins" — in 8m Alarm: off. Will ring in 8m: Take vitamins. $ autonag timers complete a1b2 pass Timer "Take vitamins" recurred — next: 4/24/2026, 9:00:00 AM $ autonag shush $ autonag comments add e5f6 "Sent the email, awaiting reply"
Autonag uses WebSockets to push every change to all connected clients in real time. Complete a task on your phone, your laptop updates before you put it down. Dedicate one device to the alarm page — it rings there while you work everywhere else.
Autonag stores every mutation as an immutable event. Skip any event to undo it — state is recomputed as if it never happened. The full history is always inspectable.
Autonag exposes a clean REST API and WebSocket stream. Hook it up to a cron job, a home-automation system, or your personal AI agent — whatever runs your world.
$ autonag timers add "Take medication" 8h --days 1 --anchor 08:00 $ autonag timers add "Stand-up" 1h --days 1 --anchor 09:30 # WebSocket stream (alarm fired) {"type":"snapshot","state":{"alarm":{"on":true,"urgentName":"Take medication",...}}} {"type":"event","event":{"type":"TimerAdded",...}} $ autonag timers complete med0 done Timer "Take medication" recurred — next: 4/18/2026, 8:00:00 AM # Batch API for atomic operations POST /instances/:id/actions { "actions": [ { "type": "assert", "path": "timers/med0" }, { "type": "completeTimer", "timerId": "med0", "closeReason": "done" } ] }
Open the app, add your first timer, and let the parrot do the rest.
Open Autonag →