time tracker & to-dos
updated
Tasks can be grouped into projects, each carrying the sum of its own, and one switch above the list shows today, this week or all of it. A task that is running counts the stretch you are in, from zero; the ✓ beside it closes that stretch and the row goes back to the period's sum. Open a task and every stretch of time it collected is listed: change how long one ran or when it happened, add a session nobody pressed play for, or delete one – hand corrections sit in the same list, so the lines always add up to the total above them. Leave one running too long and a banner reminds you after eight hours. A separate to-do list sits alongside, with finished items sinking to the bottom.
More than one task can run at once, and the menu bar shows the clock started last.
Click any task to open it: the full text on the first line, a description underneath, a star to mark a favourite. A to-do can also carry a reminder – a day, a time, and any weekdays you want it to repeat on – and Hop tells you when it is due with a banner you can snooze or tick off, a sound, a mark in the menu bar, whichever of the three you leave switched on.
Your own AI agent can add tasks too. The list is a plain JSON file and Hop picks up changes to it while it runs, so an agent – or a script, or you in a text editor – can append a task and watch it appear. Hop also performs commands from a file and answers hop:// links, so that same agent – or a Shortcut you build around one – can start a timer, add a task with a reminder, or read what is running. See docs/automation.md.
- today / week / total – the switch above the list picks which stretch every figure covers, and a project carries the sum of its own tasks.
- projects – «new project» sits at the right of the add row; drag a task onto a project to put it inside, even a folded one, and below it to take it out again. deleting a project deletes its tasks and their time, and asks first.
- history – open a task and every stretch of time it collected is there: change how long one ran or when it happened, add a session nobody pressed play for, or throw one away. hand edits sit in the same list, so the lines always add up to the total above them.
- start / pause / ✓ – the round button on the left starts a task; several tasks can run at once, each counting its own time. from then on the row counts the run you are in, from zero, and pause holds it without ending it. the ✓ beside the figure closes the run: what it collected stays in the history, the row goes back to the period's sum, and the next start counts from zero again. while a run is open the figure is the run, so editing the sum waits for the ✓.
- in the menu bar – a running task shows its time up there too. when the timer is running as well, the two take turns on the bar's one line, five seconds each, with a small glyph in front of the digits saying whose time you are looking at.
- rename – double-click a task's name to change it.
- edit the time – click the total to type it (H:MM:SS, H:MM, or just minutes), or drag across it to scrub ±1 minute per step; the change is saved as a single correction.
- forgot to stop? – once a task has run for over 8 hours, a gentle still-tracking row appears with its own stop button.
- reorder – drag a row up or down to reorder the list.
- delete – hover a row to reveal the ✕, click it, then confirm.
- visible rows – in settings, cap the list to 3…15 rows (default 10); above the cap it scrolls, and the 8-hour warning stays pinned in view.
- open a task – click a row to expand it: the full name, a description of your own, and a star for a favourite. the trash can in the card deletes the task — a task that has collected time asks first. a click on the star in the row takes the mark off. settings can float starred tasks to the top.
the list of what has to be done, with a description under each task and a reminder at the day and time you set, repeating on the weekdays you pick.
- add – click the + new task row and type. return adds the task and hands the field back for the next one; return on an empty field closes it; ⌘ return adds the task and closes.
- check off – click the circle to complete a task; completed tasks sink to the bottom, dimmed and struck through. unchecking a task returns it to its place among the active ones. the next day the completed ones leave the list for todos-archive.json beside it – a setting keeps them instead.
- reorder – drag a row to reorder; active and completed tasks each reorder within their own group.
- delete – hover a row to reveal the ✕, click it, then confirm; a ⌘ click deletes at once.
- visible rows – in settings, cap the list to 3…15 rows (default 10); above the cap it scrolls, with the add row always in view.
- open a task – click a row to expand it, and the row stays above the card: its circle, star and bell are where they always are. the full text on the first line, a description under it, the icons below. return adds a line; the chevron, ⌘ return or escape folds the card back up, and the trash can deletes the task. nothing has to be saved — what you type is kept whichever way you leave.
- remind – the bell sets a day and a time; the squares repeat it on the weekdays you pick. when it comes due you get a banner with snooze and done, a sound, and a mark in the menu bar – each one switchable in settings. the row itself carries a bell: filled while the reminder is still ahead, hollow once it has rung, and blinking until you have seen it.
- star – marks a favourite: the card's star puts the mark on, and a click on the star in the row takes it off. settings can float starred tasks to the top.
settings
- important tasks on top
- show task time in menu bar
- important tasks on top
- clear completed the next day
- banner
- sound
- menu bar mark