Changelog
What changed, day by day
- Day 70feature
Reuse a tag in a tap
While you're composing a task, the add box now offers the tags you've already used as small chips beneath it — tap one to drop it into the task instead of retyping it from memory. They're sorted by how often you use each, capped at eight, and a tag already in the draft steps out of the row. Because the spelling comes from the chip, a stray "#wrok" no longer splinters a filter away from "#work". The chips appear only while the box is focused and holds a single line, so a resting box and a pasted brain dump stay uncluttered, and a first-ever task shows nothing since there's nothing to suggest yet. Tags are still read from the task text, so nothing about how data is stored changed.
- Day 69feature
Give a task a deadline
A task can now carry a due date — when it needs to be done by — kept separate from the day it sits on. Type it in quick-add after the word "due": "Submit report due Friday", "Renew passport due Dec 1", "Pay invoice due tomorrow", "File taxes due today", "Call Sam due in 3 days". Or set it from a task's schedule menu, under "Due by", where a "Clear due date" option removes it. A "due" chip then shows on the row: quiet while the deadline is days out ("due Fri", "due Sep 1"), amber the day before and the day of ("due tomorrow", "due today"), and rose once it has passed ("overdue"). Because an unfinished one-off carries into the next day, the chip counts itself down without any nudging. The deadline is only a heads-up — it never changes which day a task appears on, so "Submit report due Friday" stays on today, while a plain "Dentist Aug 20" still schedules the task onto that day as before. It reads alongside the time, estimate, tag, and repeat phrases already parsed. Stored data bumps to version 13 with one new optional field; existing tasks are untouched.
- Day 68feature
Say a time in words
Quick-add now reads a named time of day the same way it already reads "9am" or "14:00", so the words people actually type set a time. "Lunch noon", "Meds midnight", "Call mom tonight", "Standup this morning", "Gym this evening", "Review notes afternoon" each land the task at a round hour — noon at 12 PM, midnight at 12 AM, morning at 9 AM, afternoon at 2 PM, evening at 6 PM, night or tonight at 9 PM. Only a trailing phrase is read, and only when a title is left in front of it, so a one-word task like "Morning" or a mid-sentence "the morning briefing" stays literal. The recognized time shows in the add preview before you commit, and the time menu can nudge it after. It stacks with the rest of quick-add, so "Dentist Aug 25 morning", "Lunch noon 45m", and "Standup noon #work" all read the day, estimate, or tag alongside the time. Nothing about how tasks are stored changed.
- Day 67feature
Send today’s schedule to your calendar
Today’s timed tasks can now be handed to a real calendar. A new calendar action — in the today header next to Copy plan, and in the command menu (Cmd/Ctrl+K) as "Add today’s schedule to calendar" — downloads a standard .ics file that opens in Google Calendar, Apple Calendar, Outlook, or anything that reads iCalendar. It fills the one gap the in-app reminders leave: those only fire while this tab is open, whereas each exported event carries an alarm at its start, so your calendar nudges your phone even when the planner is closed. A task with an estimate becomes a block of that length; a bare time becomes a 30-minute event. Times are written as floating local times, so a 9 AM task stays 9 AM wherever it opens; #tags become the event’s categories and a task’s note becomes its description. Only still-to-do timed tasks are included — untimed to-dos and finished tasks are left out. The file is built in your browser and nothing is sent anywhere; how tasks are stored didn’t change.
- Day 66fix
Tags no longer hide a task’s schedule
Quick-add reads a time, estimate, date, or repeat even when a #tag is written after it, so a natural entry like "Standup 10am #work", "Gym 6pm every day #health", or "Write proposal 90m #work" now sets the time (or routine, or estimate) and keeps the tag. Before, a hashtag at the end of the line sat between the parser and the schedule phrase, so the whole phrase was left as literal text — the task got no time chip and a routine never started repeating. Tags anywhere in the line are set aside while the trailing schedule is read, then put back in their original order; a task typed as just "#tag" still stays a plain title. Nothing about how tasks are stored changed.
- Day 65feature
Schedule a task by its date
Quick-add now understands a calendar date at the end of a task, so planning further out no longer means opening the week view or counting days. Type "Dentist Aug 20", "Renew passport Dec 1", "Wedding 3rd of December", or "Pick up order 20 Aug" and the task lands on that day; a date that has already passed this year rolls to next year, the way naming a weekday already points ahead. "In 2 weeks" joins the existing "in 3 days" and "next week". A month name is required, so a bare number like "Read pages 9-11" is never mistaken for a date, and an impossible day like "Feb 30" stays part of the title. It reads alongside the time, estimate, and repeat phrases already parsed, so "Call Sam Aug 20 at 2pm" sets both the day and the time, and the same parsing powers the week page. Nothing about how tasks are stored changed.
- Day 64feature
Repeat every few days
Routines can now recur every N days — every other day, every 3 days, every 10 — counting from the day the task was created, alongside daily, weekdays, weekly, specific weekdays, and monthly. Pick it from the repeat menu (a stepper under "Every few days"), or type it when adding a task: "Workout every other day", "Water plants every 3 days". It fills the gap between daily and weekly for the habits that fall on their own rhythm rather than fixed weekdays. The cadence shows on the task row and the Routines page, and its streak counts by that rhythm like every other routine. Stored data bumps to version 12 with the new repeat value and one optional field; existing tasks are untouched.
- Day 63feature
All your routines in one place
A new Routines page gathers every repeating task, so your habits are visible even on days they aren’t due — until now a routine only showed up on the home page when it was scheduled for that day. Each one lists its cadence, current streak, best-ever run, and when it’s next due, alongside a strip of dots for its recent due days: kept, rested, or missed at a glance. Today’s due routines can be checked off right from the page (the same per-day completion the home page records), and a rest day can be resumed here too. Rows sort with the ones still waiting on you today first, then by streak. It reads and writes the tasks already stored — nothing about how data is saved changed. Reachable from a "Routines" link in the header and the command menu (Cmd/Ctrl+K).
- Day 62feature
The week ahead
A new page lays out the next seven days at once, so planning ahead no longer means scrolling past today. Each day is a card showing what falls on it — one-off tasks scheduled for that day and any routines due — with times, estimates, tags, and a slim meter that reads each day’s load against the busiest one, so a lopsided week is visible at a glance. Today’s card also gathers the tasks carried over from earlier days. Every card has its own quick-add: type a task under any day to place it there, with the same inline parsing the home box uses (a time like "9am", a block like "9–11am", or "every day" to make it repeat). One-off tasks can be removed from here; routines are managed from their row on the home page. It reads and writes the tasks already stored — nothing about how data is saved changed. Reachable from a "Week" link in the header and the command menu (Cmd/Ctrl+K).
- Day 61feature
Take a rest day from a routine
A repeating task can now be skipped for today from its actions (the hover icons on a mouse, the ellipsis menu on touch) — a rest day. A skipped routine steps out of today’s list, its done count, the timeline, and any reminders, and waits in a "Resting today" section with a one-tap Resume that puts it back exactly where it was. A rest day counts as neither done nor missed, so it bridges the routine’s streak rather than breaking it — a deliberate day off no longer costs a run, and the best-ever streak counts the same way. Stored data bumps to version 11 with an added optional field; existing tasks are untouched.
- Day 60feature
Reorder tasks on a touch screen
Reordering today’s tasks reached a touch screen. Until now the manual order could only be changed by dragging the grip handle (which needs a mouse) or with Shift+J/Shift+K (which needs a keyboard), so on a phone or tablet there was no way to do it at all. A task’s actions menu — the ellipsis on touch — now offers "Move up" and "Move down", shown only for the untimed, still-to-do tasks that drag and the keyboard already reorder, and only in a direction that would actually move it. The menu stays open between moves so a task can be nudged several places in a row. It reorders within the same manual group as before (timed tasks keep their chronological order, finished ones their place), and nothing about how tasks are stored changed.
- Day 59feature
Filter the day by tag, in one tap
A tag bar now sits above the day: every tag in play, each with how many tasks carry it, and a leading "All". Tapping one slices the whole board — today, carryovers, upcoming, and Someday — to that context; tapping it again, or "All", clears it. Until now a filter could only be started by finding a task already wearing a tag and clicking its chip, so a context whose tasks were all finished, folded away, or on another day was unreachable. Tapping a chip switches contexts directly, and the bar appears once there are two or more tags. Tags are still read from task text, so nothing is stored differently; the row chips, Esc-to-clear, and the existing filter indicator all keep working.
- Day 58feature
Duplicate a task
A task can now be duplicated from its actions — the hover icons on a mouse, the ellipsis menu on touch. The copy drops in right below the original, in the same section, carrying its text and tags, note, time, estimate, star, and repeat cadence, so a near-identical task (or a fork of a routine) takes one tap instead of retyping. The copy starts clean: not done, no completion history, and any steps reset to unchecked. It flashes briefly where it lands. No stored data changed.
- Day 57feature
Reorder tasks from the keyboard
Today’s list can now be reordered without a pointer. With a task selected (j/k), press Shift+J or Shift+K to move it down or up — the keyboard counterpart to dragging, which was mouse- and touch-only. It moves a task within its manual group (untimed, still-to-do, same priority — the same tasks dragging reorders), so the timed agenda keeps its chronological order and finished tasks keep their place; the selection rides along with the task as it shifts. The new keys are listed in the shortcuts panel (?). No stored data changed.
- Day 56feature
Your day on a timeline
Today now opens with a compact timeline above the list: each timed task is a block, sized to its estimate and placed by its start time, with the gaps between blocks left as free time and a live marker for the current moment — so how full the day is, and where the openings are, reads at a glance. Tapping a block jumps to that task in the list. It appears once at least two tasks have a time of day, reads the whole day (a tag filter narrows the list, not the timeline), and sits under the "planned today" summary. Finished blocks are green and starred ones amber, matching the rest of the app. No stored data changed.
- Day 55feature
Your last 30 days, at a glance
The History page opens with a short summary of the last 30 days: tasks done, how many days had at least one thing completed, the weekday you finish the most on, and the longest run of days in a row. The activity calendar below still shows the day-by-day shape; the summary just reads the same completion history back as a few plain numbers, replacing the single "N tasks completed" line. Nothing is stored differently.
- Day 54feature
A daily streak for showing up
The "This week" card now shows how many days in a row you’ve completed at least one task. Today is a grace day — an unfinished today doesn’t break a run, and finishing something extends it — and the count reads from the completion history the week bars and calendar already keep, so both one-off tasks and routines feed it. It appears once a run reaches two days and uses the same flame the per-routine streaks do. No stored data changed.
- Day 53feature
Send the rest of today to tomorrow
A one-tap action moves today’s still-to-do tasks to tomorrow at once, so what you won’t get to now is planned as tomorrow’s work instead of nagging the next morning as an overdue carryover. It sits below today’s list once two or more tasks are left, and in the command menu (Cmd/Ctrl+K). It complements the per-task "Move to tomorrow" with the bulk form. Routines recur on their own schedule and are left alone; each moved task keeps its time, estimate, notes, and steps. No stored data changed.
- Day 52feature
Tasks that repeat every month
Routines can now recur monthly, alongside daily, weekdays, weekly, and specific weekdays. A monthly task returns on the same day-of-month it was created — pick Monthly from the repeat menu, or type "monthly"/"every month" when adding ("Pay rent monthly"). Months too short for that day (a task set for the 31st) fall to the month’s last day, so it still fires once every month. The row names the cadence, and its streak counts by months. Stored data bumps to version 10 with the new repeat value; existing tasks are untouched.
- Day 51fix
Room for the full task title
On a mouse, a task row’s quick-action buttons (star, repeat, schedule, estimate, note, steps, edit) used to reserve their horizontal space even while hidden, squeezing the title into a narrow strip — so a normal entry like “Draft the quarterly planning doc” was clipped to a few words with the rest of the row sitting empty. Those buttons now live in a cluster that collapses to nothing at rest and slides open only when the row is hovered, a button inside takes keyboard focus, or one of its menus is open, so the title keeps the row’s full width. Touch screens are unchanged — the actions were already tucked behind the ellipsis menu there. No stored data changed.
- Day 50feature
Work a task’s steps in Focus mode
Focus mode now shows a task’s steps beneath it, each checkable in place, so a multi-step task can be worked through without leaving focus. A count reads how many are done, and the steps stay in sync with the task’s row — checking one here or there is the same step. It appears only when the task has steps; adding, renaming, and removing them still happens in the main list. No stored data changed.
- Day 49feature
A head start on reminders
Reminders can now fire a few minutes before a timed task instead of only as it begins. When reminders are on, a small control under the day header sets the lead — at the time, or 5, 10, or 15 minutes early — and the notification says how soon the task starts. The choice is kept in the browser under a new bed-reminder-lead key; nothing about how tasks are stored changed, and reminders still only fire while the tab is open.
- Day 48feature
A heads-up when two tasks overlap
A timed task now shows a quiet amber "overlaps" flag when its time or block runs into another of today’s still-to-do tasks — a 10 AM call landing inside a 9–11 AM block, or two things booked for the same moment. Hovering the flag names the clash and its time. Back-to-back blocks that only touch (9–11, then 11–12) don’t flag, and a bare time counts as a single minute so same-time collisions still register. It reads the whole day, not a tag-filtered slice, and reuses the existing time and estimate fields, so nothing about how tasks are stored changed.
- Day 47feature
Block out a task with a time range
Quick-add now reads a time range and turns it into a block: "Deep work 9-11am" becomes a 9 AM task with a 2h estimate, in one phrase. It accepts a shared meridiem ("9-11am"), one per end ("9am-1pm"), minutes ("9:30-10:30am"), and 24-hour times ("14:00-15:30"); a bare "read pages 9-11" is left alone, as single times already were. A timed task that carries an estimate now shows its window — "9 – 11 AM" — on its row, in the add preview, in Focus mode, and in History, instead of just the start. It reuses the existing time and estimate fields, so nothing about how tasks are stored changed.
- Day 46feature
See when today’s plan will wrap up
The day’s time summary now projects a finish time. It adds up the estimated tasks you haven’t done yet, counts from the current time, and shows a "finish around 4:30 PM" — a quiet read on whether the day’s plan fits before the day is out. It appears once there’s unfinished estimated work, ticks with the clock, and reads "runs past midnight" when the plan won’t fit. It reads only today’s estimates, and nothing about how data is stored changed.
- Day 45feature
A key for the keyboard shortcuts
Press ? anywhere to open a reference of the app’s keyboard shortcuts, grouped by what they do — getting around (the command menu, adding a task, this help, Escape), driving today’s list (j/k to move the selection, Space to complete, Backspace to delete), and editing (double-click a task, undo a delete). It’s also in the command menu as "Keyboard shortcuts" so it’s reachable without a keyboard, and Escape or a click outside closes it. An open menu or panel now fully owns the keyboard, so list shortcuts no longer fire behind it. No stored data changed.
- Day 44feature
A timer for Focus mode
Focus mode now carries a session timer, so a task can be worked in a set block of time. A ring counts the block down with the time left in the middle; start, pause, resume, and reset from the controls beneath it, and pick a length (15, 25, or 50 minutes) — or the task’s own time estimate, when it has one, which is the default. When a block ends the ring settles into "Time’s up," and if the tab is in the background and notifications are already allowed, a quiet nudge fires. The timer is a working aid, not stored data: it resets when you switch to another task and starts fresh on reload, so nothing about how tasks are saved changed.
- Day 43feature
Copy today’s plan as text
A new action copies the day to the clipboard as a plain-text checklist — the date, then one line per task in the order shown, with times leading, estimates in parentheses, and a checked box for finished ones. It is meant for pasting into a standup note, a message, or a journal. Reach it from a clipboard button in the day header or from the command menu (Cmd/Ctrl+K); a brief toast confirms the copy. It reads the whole day, not a tag-filtered slice, and nothing about how data is stored changed.
- Day 42feature
Group your tasks with #tags
Add a #tag inside any task — "Email Sam #work", "Gym #health" — and it shows as a colored chip on the task. Tapping a chip filters the whole list to that tag; a bar names the filter and clears it (Esc does too), and Focus mode follows the filter. Tags are read from the task text itself, so they are added or removed just by editing the task, and nothing changes in how data is stored. The tab count, reminders, and the all-done celebration keep reading the full day, not the filtered slice.
- Day 41design
Carried-over tasks show their real age
Unfinished tasks from past days used to sit under one "From yesterday" heading regardless of how long they had actually been waiting. They are now grouped by the day each was meant for, most-recent first, with an honest label — "Yesterday", a weekday within the past week, or a date like "Wed, Jul 15" — so a task left over from last week no longer hides among yesterday’s. The layout mirrors the upcoming section. A "Bring all to today" action now sits on the section (shown once more than one is waiting), surfacing the bulk move that previously lived only in the command palette; each row keeps its own "Do today". No stored data changed.
- Day 40feature
Add several tasks at once
The add box is now a text area, so a pasted list keeps its line breaks and Shift+Enter stacks more lines — each non-empty line becomes its own task. Every line still runs through quick-add parsing (so "gym every day" or "call Sam tomorrow" work per line) and honors the Today/Tomorrow/Someday toggle. Plain Enter still adds on every device, so single-task entry is unchanged; the box grows to fit what you type and shows how many tasks will be added once there is more than one line. No stored data changed.
- Day 39design
Fold away what you’ve finished
Today’s completed tasks can now be collapsed into a "Completed" summary row, so a day with a lot checked off keeps the work that’s left up top. A click on the row folds or unfolds them; finished tasks still sink below what’s active either way, and the choice is remembered across visits under a new bed-completed key. Revealing a finished task from search opens the section automatically, and folded tasks drop out of keyboard navigation. Default is unchanged — completed tasks show until you collapse them. No task data changed.
- Day 38feature
Search across all your tasks
The command menu (Cmd/Ctrl+K) now searches your tasks, not just its actions. Type a word and matching tasks appear under a Tasks group alongside any matching commands — each with a status dot (done or still to do) and a quiet label for where it lives: Today, the day it carries over from, a scheduled day, Someday, or a routine’s cadence. Both the task text and that label are searchable. Choosing a result closes the menu, scrolls the task into view, and flashes it briefly so your eye lands on it; the whole thing is keyboard-driven, and finished tasks show up too. Tasks only appear once there’s a query, so an empty menu stays a clean list of actions. No stored data changed.
- Day 37feature
A Someday list for tasks without a day
Tasks can now be kept in a Someday list instead of on a specific day — a place to capture what you want to do eventually without committing to when. Add one with the new Someday option beside Today and Tomorrow on the add box, or park an existing task there from its schedule menu. Someday tasks wait in their own section, out of Today, carryovers, and the tab count; "Do today" or scheduling a day lifts one back into the plan. They ride along in exports and backups. Stored data bumps to version 9 with one added optional field; existing tasks are untouched.
- Day 36design
Task names that never get squeezed out
Reworked the task row into two tiers so the name always stays readable. Before, a task with a time, an estimate, and a "starts in" hint could crowd its own name down to a letter or nothing on a narrow phone. Now the name gets the full width of its line (with the time leading and a star trailing), and the quieter details — the countdown, an overdue "late" note, a streak, a repeat cadence, an estimate, step progress — sit on a second line beneath it and wrap instead of pushing on the name. Rows with no such details stay a single line. All actions and the layout are otherwise unchanged.
- Day 35feature
A note for each day
A card on the home page holds an optional freeform note for the day — a place for the things a day leaves behind that aren’t tasks: how it went, a number to remember, a line worth keeping. Notes are kept per day in the browser under a new bed-daynotes key, separate from your tasks, and each day’s note shows again in History under that day. URLs in a note are clickable, like task notes.
- Day 34feature
Repeat on the days you choose
A routine can now recur on a specific set of weekdays — Monday, Wednesday, Friday, say — alongside the daily, weekdays, and weekly options. The repeat menu gained a day-of-week picker; the days commit when the menu closes, and clearing them all turns repeating off. The task’s row names the set ("Mon Wed Fri", or "Weekdays"/"Weekends" when it matches one). Like every routine, it shows up only on the days it’s due. Stored data bumps to version 8 with one added optional field; existing routines are untouched.
- Day 33feature
Step through your day by keyboard
Today’s list can now be driven from the keyboard. Press j or k to move a selection through it — the arrow keys join in once you’re navigating — then Space or Enter to check the selected task off (or back on), and Backspace to remove it, with the usual undo. The selected row shows a ring and scrolls into view, and checking one off steps the selection to the next task still to do. It covers today’s tasks; carryovers and upcoming days keep their own actions. Mouse and touch are unchanged.
- Day 32feature
A command menu, a keystroke away
Press Cmd/Ctrl+K — or the new Commands button by the add box — to open a searchable menu of the app’s actions: add a task, enter or exit focus mode, toggle reminders, switch theme, bring carried-over tasks to today, export a backup, and open History or What’s new. Filter by typing; move with the arrow keys, Enter runs, Esc closes. Each command appears only when it applies, and every one is also reachable in the normal UI, so the menu is a shortcut rather than the only way. The header theme switcher and the menu now share one preference.
- Day 31feature
Break a task into steps
A task can now hold a checklist of steps. Open one from a task’s actions ("Break into steps"), then add, check off, rename (double-click), or remove each step; the row shows a "2/3" count that turns green when every step is done. Steps don’t complete the task on their own — the task is still checked off as one thing. They ride along in exports and backups. Stored data bumps to version 7 with the added optional field.
- Day 30feature
A calendar of what you got done
The History page now opens with an activity calendar: one square per day for the last five weeks, shaded from light to dark by how many tasks were completed, with today outlined and a legend for the scale. It reads from the completion history the planner already keeps, so nothing is stored differently. Each square names its day and count on hover, and the weekly bars now share the same counting.
- Day 29feature
See what’s slipped past its time
A timed task that’s still unfinished after its moment has passed now shows a quiet amber "25m late" hint, mirroring the emerald "in 25m" on the next task coming up. It updates with the clock and clears when the task is completed or rescheduled.
- Day 28feature
Star what matters most
Any task can be starred as important from its actions, and starred tasks float to the top of the list. Timed tasks keep their agenda order, so the star only reorders untimed ones. Focus mode marks a starred task as important. Stored data bumps to version 6 with the added optional field.
- Day 27feature
Undo a delete
Deleting a task now shows a brief toast with an Undo button; Cmd/Ctrl+Z works too. Undo puts the task back exactly where it was, with its notes, schedule, and completion history intact. Several deletes in a row can be walked back one by one. The window lasts about eight seconds, then the deletion becomes final as before.
- Day 26feature
Streaks for routines
Repeating tasks now show their current streak once it reaches two — consecutive due days completed, counted by each routine’s own cadence, so a weekend never breaks a weekday streak and an unfinished today never breaks anything. The History page lists every live streak alongside the routine’s best-ever run. Routine completion logs are no longer trimmed to 30 days, so long streaks survive.
- Day 25feature
Look back at what you got done
A History page lists completed tasks from the last 30 days, grouped by day with the newest first. Routines appear on each day they were finished. It opens from the count on the weekly activity card.
- Day 24feature
Install it, and use it by touch
The planner is now an installable web app with a proper icon set, manifest, and theme color. On touch screens, task actions moved from hover-only icons (which never appeared there) to a visible menu on each task. Also: the weekly chart’s bars, which had been collapsing to zero height, render again; the changelog became a plain log; and the header lost its duplicate day counter.
- Day 23feature
Reminders when a task’s time arrives
Optional browser notifications fire when a timed task is due, toggled by a bell in the header. They only fire while the tab is open; nothing leaves the device.
- Day 22feature
A live line for right now
A "now" line tracks the clock and sits in the agenda between past and upcoming timed tasks. The next timed task shows how soon it starts.
- Day 21feature
Give a task a time of day
Tasks can have a time of day, typed inline ("9am", "at 14:00") or set from the schedule menu. Timed tasks sort to the top chronologically and lead Focus mode.
- Day 20feature
Estimate how long a task takes
Tasks can carry a rough time estimate, typed inline ("30m", "1h 30m") or picked from the clock menu. A summary line shows total time planned for the day.
- Day 19feature
Schedule a task for any day
Tasks can be scheduled for any date, typed ("friday", "in 3 days", "next week") or picked from a calendar menu. Scheduled tasks group under their day and move into today when it arrives.
- Day 18feature
Type the day, skip the menus
The add box parses trailing phrases — "tomorrow", "every day", "weekdays", "weekly" — and shows a preview of what will be created. The word "today" is left alone.
- Day 17feature
Export and import your tasks
A "Your data" card exports tasks to a JSON backup file and imports one back. Imports merge by id rather than overwrite.
- Day 16feature
Tasks that repeat
Tasks can repeat every day, on weekdays, or weekly. Routines return each due day, with completion tracked per day, and never clutter carryovers.
- Day 15feature
Light, dark, or system
A theme switcher in the header offers light, dark, or system, applied before first paint so there is no flash. The app also now renders in its intended typeface.
- Day 14feature
Move a task to tomorrow
A task can be pushed to tomorrow from its row, complementing the existing "Do today" action on carryovers.
- Day 13feature
Plan tomorrow tonight
A Today/Tomorrow toggle on the add box queues tasks for tomorrow. They wait in their own section and move into today when the date changes.
- Day 12design
A greeting that knows the hour
The header greeting now follows the time of day.
- Day 11feature
Links in notes are clickable
URLs in task notes (including bare www. links) now render as clickable links.
- Day 10feature
Your tab counts what’s left
The tab title shows how many tasks remain, like "(3) Better Every Day". The count disappears when everything is done.
- Day 9feature
Focus mode: one task at a time
Focus mode shows a single task front and center; checking it off advances to the next. Esc or "Exit focus" returns to the full list.
- Day 8design
Finished tasks drop to the bottom
Completed tasks now sort below the ones still to do, keeping relative order within each group. Drag-to-reorder still works.
- Day 7feature
Add a note to any task
Tasks can carry a free-text note, added from the note icon and edited with a double-click. Cmd/Ctrl+Enter saves.
- Day 6feature
See your week at a glance
A small bar chart shows how many tasks were completed on each of the last 7 days. It appears once there is any history.
- Day 5feature
Drag tasks to reorder them
Tasks can be reordered by dragging the grip handle that appears on hover.
- Day 4feature
Double-click to edit any task
Tasks can be edited in place — double-click the text or use the pencil icon. Enter saves, Escape cancels.
- Day 3feature
Press n to add a task
Pressing n anywhere on the page focuses the task input.
- Day 2design
Confetti when you finish everything
Checking off the last task of the day triggers a brief confetti burst.
- Day 1feature
Better Every Day is born
The initial planner: add tasks for today, check them off, and carry unfinished ones over to the next day. Everything is stored locally in the browser.