Getting Started
Buds is a local-first visual task and project organizer. A single copy of the app can hold multiple boards, and each board can have its own sections, layout, colors, Queue position, tasks, notes, and sub-tasks. Tags are shared across all boards in the current workspace.
This version does not use accounts, a server, or cloud sync. Your working data is stored by the browser on the device where you use Buds. Download workspace backups regularly if the data matters to you.
The main parts of the screen
- Top row: the editable board name, Add Task box, appearance control, Notifications, and Settings.
- Second row: Undo/Redo on the left and task-selection actions on the right.
- Board tabs: switch between boards. Extra tabs move under More when they no longer fit.
- Queue and sections: the working area where tasks are collected and organized.
- Footer: shareable Documentation, Changelog, Features, Roadmap, About, Contact, and Privacy pages, a Pyips home link, copyright information, and the current app version.
A simple first workflow
- Rename the current board by editing its name at the top, or create another board with the + board-tab button.
- Type a task into Add Task and press Enter. On a standard board it is added to To Do.
- Click a task card to edit its name, section, tags, notes, or sub-tasks.
- Drag task cards between sections when their status or priority changes.
- Use the Queue when you want to paste or enter many tasks quickly and organize them later.
The top Add Task box sends a task to the board's default working section. The small + button in a section header adds directly to that section.
Using this documentation
Use the Contents list on larger screens or the Section menu on smaller screens. The search box filters the manual to matching sections and highlights matching text. The Print button prints the complete manual, even if a search is active.
Settings
Settings is organized into four areas so everyday preferences, task behavior, workspace structure, and data protection stay separate. On desktop, use the sidebar; on smaller screens, use the category bar at the top.
General
- Confirm before leaving Buds: Experimental browser/device Back protection. It is On by default.
- Task title capitalization: choose First word, Every word, or None.
- Board columns: set 1–8 columns for the current board. Narrow screens may temporarily show fewer effective columns without changing the saved value.
Tasks
- Completed tasks: board visibility period, movement, appearance, and completed sub-task behavior.
- Paused tasks: paused-task destination, reminder time, due-reminder behavior, and optional periodic review.
- Missed Urgent warning: choose the browser-local time Buds uses for daily missed-Urgent checks.
Workspace
- Boards: create, rename, duplicate, reorder, or remove boards.
- Sections: manage sections, order, and colors for the current board.
- Tags: rename, recolor, or remove workspace-wide tags.
- Reset current board: restore the active board to its default state after confirmation.
Data & backups
This area keeps the storage-usage progress bar visible, with technical byte/quota details behind Storage details. It also contains one-click workspace/current-board downloads, file-first restore, automatic folder backups, and advanced text-copy/paste backup tools.
Use Download backup and Choose backup file for normal backup and restore. Open Advanced backup options only when you specifically need copied backup text.
Boards
Boards let you keep separate groups of tasks inside one Buds workspace. For example, you could keep Project Alpha, Project Beta, Ideas, and Backlog boards without mixing their sections or tasks.
Switching and creating boards
- Click a board tab to switch to it.
- Use the + button beside the board tabs to create a new board.
- If the tab bar is full, additional boards are available through More.
- New boards start with Queue, To Do, In Progress, Review, and Done.
Renaming a board
The active board name at the top of the app is editable. You can also rename boards from Settings → Workspace → Boards. Board names must be unique within the workspace.
Manage boards
Open Settings → Workspace → Boards to manage the complete board list.
- Add: create a board and make it active.
- Reorder: drag the grip beside a board. The board tabs follow this order.
- Rename: edit the board name directly in the manager.
- Duplicate: creates a full copy directly after the source board.
- Delete: removes the board after confirmation. The last remaining board cannot be deleted.
A duplicated board keeps its tasks, notes, sub-tasks, sections, section colors, empty grid positions, Queue placement, and board-column setting. New internal task and sub-task IDs are created for the copy.
What is board-specific and what is global?
| Board-specific | Shared across boards |
|---|---|
| Tasks and sub-tasks | Tag definitions |
| Sections and section names | Tag names and colors |
| Section colors and grid positions | Tag usage counts |
| Queue position | Active tag spotlight follows board switches |
| Board column count | Workspace-level board management |
Deleting a board and other board-management changes can be undone during the current undo session.
Tasks
Adding tasks
Enter a name in the top Add Task box and press Enter. If the board has a To Do section, new top-bar tasks go there. If To Do does not exist, Buds uses the first available non-Queue section.
To add directly to a particular section, click the small + button in that section header, enter the task name, and confirm.
Opening and editing a task
Click a task card to open it. The task window contains:
- Task: rename the task.
- Section: move it directly to another section or Queue.
- Tags: add existing tags or create new ones.
- Urgency: use the flag button beside the task name to flag or unflag the task as Urgent.
- Pause: pause work without completing it, optionally schedule a reminder, and resume it later.
- Notes: store longer information that does not need to appear in the card title.
- Sub-tasks: break the task into smaller items.
Changes are saved as you work. Task cards show tag pills and small indicators when notes or sub-tasks exist.
Task & sub-task capitalization
Settings → General → Task title capitalization controls automatic title capitalization. First word is the default, Every word capitalizes the first letter of each word, and None preserves the title exactly as typed.
The preference applies when creating tasks from Add Task, Queue, or a section's + control, when creating sub-tasks, and when you finish editing an existing task or sub-task title. Changing the setting does not rewrite untouched existing tasks or imported backup data.
Fast Add Task syntax
The top Add Task box supports the same metadata shortcuts as Queue. Use @Section Name to choose an existing section, #Tag Name to assign one or more tags, and !urgent or !u to create the task already flagged Urgent. Renamed and custom section names are supported.
Task1 !u @Tomorrow #tag one
Creates “Task1” directly in Tomorrow, flags it Urgent, and adds the tag “tag one”. Without a valid @Section, Add Task uses its normal default section.
Urgent tasks
Flag a task as Urgent from the flag button beside the task name or from the right-click menu. Urgent tasks receive a red-accented highlight and an Urgent indicator while keeping their section color. If multiple tasks are selected, right-clicking a selected task can flag or unflag the selected tasks together.
Completing an Urgent task stops missed-urgent warnings while that task remains completed. Pausing a task also suppresses daily missed-urgent warnings for the parent and its sub-tasks until the task is resumed. If a completed task is later reopened, its Urgent flag is retained and its urgent timing restarts from the reopen time. You can also remove the Urgent flag manually before completion.
Pausing and resuming tasks
Use Pause task in the task window when work should stay incomplete but leave the normal active flow. A paused task keeps its task data and can be resumed later. If Settings → Tasks → Paused tasks → Move paused tasks to is configured for the current board, pausing routes the task to that section and remembers where it came from. Manual Resume returns it to the previous section when that section still exists.
A paused task can have no reminder, Tomorrow, This weekend, 1 week, 1 month, 1st of month, or a custom date. The reminder is checked at the configured paused-reminder notification time; midnight is the default, and overdue reminders are caught when Buds next opens. Reminders do not repeat unless you schedule another one.
In Settings → Tasks → Paused tasks, a due reminder can optionally glow the card, mark it Urgent, and—when a paused-task destination is configured—return and resume the task. That last option moves the task back to its remembered section and clears the paused state. The reminder notification can still let you keep/re-pause the task or reschedule it.
Completing tasks
Use Mark done on a task card, in the task window, or from the task right-click menu. Completion is different from deletion: a completed task receives a completion timestamp and is retained in board data. New settings keep completed cards visible on the Kanban for 7 days by default, after which board visibility can expire without deleting the task.
By default, if a parent task still has unfinished sub-tasks, Buds asks before completing the parent. Continuing does not falsely complete those unfinished sub-tasks; their real states are preserved for future completion history.
In Settings → Tasks → Completed tasks → Sub-tasks, enable Complete sub-tasks with parent if checking the parent should mark every unfinished sub-task done in the same action. Buds records those as parent-completed sub-tasks. If the parent is reopened later, only those auto-completed sub-tasks reopen; sub-tasks you completed manually stay completed.
The same settings group controls whether completed sub-tasks remain visible inside task windows. Turning Keep completed sub-tasks visible Off only hides them; it does not delete their notes, urgency, or completion state.
Showing completed tasks
Open Settings → Tasks → Completed tasks and use Show completed tasks for to choose Never, 1 day, 3 days, 7 days, 2 weeks, 1 month, 3 months, or Always. New settings default to 7 days. The time window is measured from the task’s latest completion time; reopening and completing a task again starts a fresh window.
When completed cards are shown, they always display a completion checkmark. By default they are gray/muted, use reduced opacity, do not use a struck-through parent-task title, and cannot be dragged or moved. Completed sub-task titles also do not use strike-through by default. The Completed tasks settings let you change each of those appearance choices.
Move completed tasks to is Off by default and is configured separately for each board. Its dropdown lists only sections that already exist on the current board; Buds never creates a section for this setting. Selecting a destination immediately moves existing completed tasks there and sends future completed tasks there. This automatic movement works even when Allow manual moving is Off; that separate setting controls manual dragging, reordering, and Section-field movement. If a task was moved automatically when completed, reopening it returns it to its pre-completion section when that section still exists.
Where the work sits follows the same board-visibility window. Its total and section counts include active tasks plus only the completed cards that are currently within the selected time period. This is only a board-display count; it does not change completion records, stored tasks, or future History/analytics data.
Expiring a completed card from the board does not delete it or purge History. A completed parent task can be reopened from systems that expose retained completed work. Reopening restores it to active work, reopens any sub-tasks that were auto-completed by that parent, and preserves sub-tasks the user had already completed manually. Completing it again records a new completion timestamp and restarts the board-visibility period.
While a parent task is completed, its sub-tasks are treated as a read-only historical snapshot: the add-sub-task form and delete controls are hidden, and sub-task editing, reordering, urgency changes, note changes, and completion changes are locked until the parent task is reopened. This preserves truthful sub-task state when a parent was completed with unfinished sub-tasks.
Moving and reordering tasks
Drag a task to move it within a section or into another section. You can also change the Section field inside the task window.
Task context menu
Right-click a task to open its context menu. Depending on the current selection, it can provide:
- Edit
- Copy, or Copy selected when the task is part of a multi-selection
- Deselect
- Flag urgent or remove the Urgent flag
- Mark done, or Reopen task when the task is already completed
- Delete
Copying and pasting tasks
Copying a task preserves its name, notes, tags, and sub-tasks. A pasted copy receives new internal IDs so it becomes an independent task.
You can paste by right-clicking a destination section and choosing Paste, or use the top Paste action and choose a destination section.
For a large list, add everything to Queue first, then select or drag tasks into the sections where they belong.
Queue
Queue is the board's permanent bulk-entry and holding section. It can be renamed and repositioned, but it cannot be deleted. Queue always spans the full width of the board wherever it is placed.
Bulk entry
Type or paste text into the Queue entry box and click Add to Queue. You can also press Ctrl+Enter (or the equivalent Command shortcut on supported systems).
By default, these create separate tasks:
- New lines
- Common bullet-list lines
- Semicolons
;
Commas
Commas are treated as ordinary punctuation by default so normal notes such as Example task, with extra detail stay together.
Turn on Separate By Commas when you intentionally want commas to create separate Queue tasks. This toggle is a browser-level preference and is remembered.
Example task, with extra detail
Creates one task.
Task A, Task B, Task C
Creates three tasks.
Protecting text with square brackets
Balanced square brackets [ ] protect the text inside them from Queue separators. The brackets themselves are removed from the final task name.
[Example task, with extra detail]; Task B
Creates “Example task, with extra detail” and “Task B”.
Protection also applies to semicolons and line breaks inside balanced brackets. An unmatched bracket is treated as ordinary text rather than protecting the rest of the pasted list.
Routing a Queue entry directly to a section
Add @Section Name to an entry to create that task directly in an existing section instead of leaving it in Queue. Matching is case-insensitive and uses the section's current displayed name, so renamed and custom sections work too.
Task1 @Tomorrow #tag one
Creates “Task1” directly in Tomorrow with the tag “tag one”. The @Tomorrow routing marker is not kept in the task title.
If @ does not match an existing section name, it is treated as ordinary task text and the task stays in Queue. A routing marker can appear before or after tags.
Adding tags while bulk-entering Queue tasks
Place one or more # tag markers after the task text. Queue tags may contain spaces; each later whitespace-prefixed # starts another tag.
Example task #Priority #Next Week
Creates the task “Example task” with the tags “Priority” and “Next Week”.
If a matching global tag already exists, Queue reuses it. If it does not exist, Buds creates it as a real global tag.
Flagging Urgent work during Queue entry
Add the standalone marker !urgent anywhere in a Queue entry to create that task with its Urgent flag already turned on. The marker is removed from the task title and can be combined with @Section routing and #Tag markers.
Call supplier !urgent @Today #Phone
Creates “Call supplier” in Today, tagged “Phone,” and immediately flagged Urgent.
Moving Queue tasks in bulk
Use Move all Queue tasks to and choose a destination section. If one or more Queue tasks are currently selected, only those selected Queue tasks are moved. If no Queue tasks are selected, all Queue tasks are moved.
Clearing Queue
Clear Queue removes all tasks currently in Queue after confirmation. The action is undoable during the current undo session.
Moving Queue itself
Drag Queue by its section grip to change where it appears on the board. Because Queue is full width, it does not occupy a single grid cell:
- Use the Queue before sections target to place it at the top.
- Dropping Queue on a position in a board row places Queue below that entire row.
- Manage Sections can also reorder Queue; its board position snaps to a valid full-width row boundary.
Sections & Layout
Each board has its own set of sections. Sections can be renamed, recolored, reordered, added, deleted, and placed into persistent grid positions.
Managing sections
Open Settings → Workspace → Sections. From there you can:
- Add a new section.
- Rename an existing section.
- Choose a section color from the available color circles.
- Drag section rows to change their order.
- Delete sections other than Queue.
Section names can also be edited directly in their headers on the board.
Deleting a section
Empty sections can be removed directly. If a section contains tasks, Buds asks for confirmation and moves those tasks to Queue before deleting the section. The tasks themselves are not deleted.
Queue is permanent and cannot be deleted.
Board columns
Open Settings → General to change Board columns. The setting is per board, defaults to 4, and supports 1 through 8.
On normal desktop widths, the number you choose is the actual number of columns across the board. Choosing 8 means the layout uses eight column lanes, even though each section becomes narrower.
To keep the interface usable, the board temporarily reduces to at most 2 columns on narrow windows and to 1 column on very small screens. Your configured value is not lost; it returns when enough screen width is available.
Dragging sections on the board
Use the grip in a section header. A temporary placement grid appears while you drag.
- The grid exposes complete rows matching the current board-column count, plus one additional empty row below the furthest occupied row while dragging a normal section.
- With 8 columns and only 4 sections, the current row remains available and an additional row below it lets you deliberately move a section onto a new row.
- Dropping into an empty position leaves the old position empty, allowing deliberate visual spacing.
- Dropping onto an occupied position swaps the two sections.
- If occupied positions extend into another row, the placement grid exposes complete rows through the furthest occupied position and one additional empty row beyond it, rather than creating infinite empty rows.
Empty positions are persistent
Empty section positions are saved with the board. Reopening the board, switching boards, duplicating the board, or exporting and importing it preserves those positions.
Adding a new section places it after the furthest occupied section position instead of automatically filling a deliberate gap. Deleting a section can therefore leave an empty position behind.
Masonry behavior
Sections can have different heights. The board stacks sections vertically within their assigned column lanes so a tall section does not force every other section to have the same height. Grid positions determine the lane/order logic; the content height determines how far each section extends vertically.
Manage Sections and board dragging stay synchronized
Reordering sections in Manage Sections updates the board. Dragging sections on the board updates their logical order in Manage Sections. When deliberate empty positions exist, Manage Sections reorders the sections while preserving the pattern of occupied positions.
Tags
Tags are global across all boards in the current workspace. A tag has one name and one color, and the same tag can be assigned to tasks on any board.
Adding a tag to a task
- Open a task.
- Click + Add tag.
- Start typing to find previously used tags, or enter a new tag name.
- If creating a new tag, choose one of the available tag colors and add it.
Tag suggestions favor previously used tags and show usage information.
Queue hashtags
Queue bulk entry can assign or create tags automatically. See the Queue section for the #Tag Name syntax.
Spotlighting a tag
Click a tag pill on a task card to spotlight that tag. Matching tasks remain emphasized while other tasks are dimmed. Click the same tag again to clear the spotlight.
The active tag spotlight follows you when switching boards, so you can look for the same global tag across different boards.
Manage tags
Open Settings → Workspace → Tags. Tags are listed alphabetically with their usage count. From there you can:
- Rename a tag.
- Change its color.
- See how many tasks use it.
- Delete it globally.
If a tag is in use, Buds tells you how many tasks and boards use it. Confirming deletion removes that tag assignment from every task on every board. The action can be undone during the current undo session.
Selection & Dragging
Selecting multiple tasks
Hold Shift and click task cards to toggle them into or out of the selection. You can also click the top Select control to enter selection mode; while selection mode is active, ordinary task clicks toggle selection instead of opening the task.
On desktop, when tasks are selected, the top controls provide actions such as Delete selected and Copy selected. Clicking the Select/Deselect control again can clear the selection.
On touch screens, press and hold a task card to enter Selection Mode and select that task. Buds then shows larger blue selection circles that are visually distinct from completion controls; tap additional task cards to add or remove them from the same selection. While Selection Mode is active, editing and dragging are locked so taps cannot accidentally mutate or reorder work. A larger dedicated Open control remains available on task cards, allowing you to open other tasks and build a mixed task/sub-task selection across the board.
Inside an open task, press and hold a non-editable part of a sub-task row to start selection from a sub-task. Once Selection Mode is active, a normal tap on a sub-task row or title toggles it. The mobile selection tray stays above the task window with the selected count above two rows of actions: Deselect, Done, Urgent/Clear urgent, Copy titles, structured Copy, Paste when available, and More. Delete selected is deliberately kept under More, while Reopen selected appears there only when completed selected items can actually be reopened. Pressing and holding directly inside editable sub-task text remains available for the browser's native text selection and spelling tools before Selection Mode begins.
The hold that first enters Selection Mode does not also open the context menu. After selection is already active, a later context gesture on a selected item can still open its important selection-aware context actions.
Dragging tasks on desktop
On a normal desktop layout, task cards continue to use the standard click-and-drag behavior. Drag a task card into another section or to a new position within its current section.
Dragging on touch screens and narrow layouts
On touch devices and narrow responsive layouts, Buds shows a dedicated grip on each task. Drag from that grip to move the task. A floating copy follows your finger or pointer while the drag is active so you can see that the item has been picked up. Swipe or drag anywhere else on the card to keep normal page scrolling available instead of accidentally moving the task.
The same grip-based touch behavior is used for sub-tasks, board section handles, section ordering in Manage Sections, and board ordering in Manage Boards. When a drag reaches the top or bottom edge of a scrollable area, Buds scrolls that area to help reach off-screen destinations.
Dragging a selected group
If you start dragging a task that is already part of a multi-selection, all selected tasks move together. Their relative order is preserved, and the whole move is recorded as one undo step.
If several tasks are selected but you drag a different, unselected task, only that one task moves. This prevents an unrelated selection from being moved accidentally.
Copying a selection
Use Ctrl+C / Command+C while not typing in a text field, or use Copy selected. Then paste into a chosen section using the top Paste control or the section right-click menu.
Copy title keeps the exact order in which you selected tasks and sub-tasks, even when the two types are interleaved. If you deselect and then reselect an item, that item moves to the end of the copied title list.
When several items are selected, a task or sub-task right-click menu also offers Deselect all. The existing Deselect action removes only the item that opened the menu.
Completing selected tasks
When multiple tasks are selected, use Mark done to complete them together. If any selected parent contains unfinished sub-tasks, one confirmation summarizes the unfinished work before the selected parents are completed.
Deleting a selection
Use the Delete selected button, or press Delete/Backspace while not typing in an input. Deleting selected tasks is undoable during the current undo session.
Right-click behavior
- Right-click a task for Edit, Copy title, Copy task, Paste sub-task(s) when available, Mark done, Deselect, Deselect all, and Delete actions.
- Paste sub-task(s) appears only while the current clipboard contains a Buds sub-task-only copy. It stays hidden for task copies, mixed task/sub-task copies, plain-text copies, and an empty clipboard.
- Pasting sub-tasks into a task card uses that task's saved New sub-tasks Top/Bottom setting. You can also right-click an empty, non-editable area of the open task window to paste into that task.
- Copy title copies plain text only. If the right-clicked item is selected, Buds copies every selected task and selected sub-task title, one per line, in the exact order the items were selected. A task title never automatically includes its attached sub-tasks; a sub-task appears only when that sub-task itself is selected.
- Right-click a section for Paste into that section.
For long boards or sections, keep a dragged task near the top or bottom edge of the browser window and the page will continue scrolling in that direction while the drag stays active. This also works for selected-task group drags.
Subtasks & Notes
Task notes
Open a task and click + Add note when you need extra context that would make the task title too long. Notes save as you type. When a task already has a note, use Expand to grow the note area up to a large readable height, Shrink to return it to the normal height, or Remove note to delete it and collapse the note area again.
A task card shows a small notes indicator when the task contains notes, without displaying the full note on the board.
Adding sub-tasks
In an open task, type into Add a sub-task and press Enter or click Add. Sub-tasks are stored inside their parent task.
Completing sub-tasks
Each sub-task has its own completion control. Completed sub-tasks remain visible inside an active parent task with a muted appearance, and their completion time is stored. Strike-through for completed sub-task titles is optional in Settings → Tasks → Completed tasks and is Off by default. Click the completion control again, or use the right-click menu, to reopen a sub-task.
Buds also stores how a sub-task reached its current completed state. A sub-task checked directly by the user is treated as manually completed. A previously unfinished sub-task completed automatically by Complete sub-tasks with parent is marked as parent-completed so it can be reopened automatically if that parent is later reopened.
Each parent task can choose where newly created sub-tasks are inserted. Use the one-click Bottom ↔ Top switch beside New sub-tasks in the task window. The choice is saved with that task, defaults to Bottom, and changes only future additions—it does not reorder sub-tasks that already exist.
Drag a sub-task by its grip to reorder it. When the task window has its own scrollbar, hold the dragged sub-task near the top or bottom edge of that window and Buds will keep scrolling it in that direction while you continue the drag.
You can also move several sub-tasks together. Select multiple sub-tasks, then drag any selected member of that set. Buds moves the selected sub-tasks from that parent task as one contiguous block while preserving their original relative order. Selected items that were separated by unselected rows are packed together at the new location. Dragging an unselected sub-task still moves only that one item.
Urgent sub-tasks
A sub-task can be flagged Urgent independently of its parent task. Use the small flag control on the sub-task or its right-click menu. Selected sub-tasks can be flagged or unflagged together. An incomplete urgent sub-task participates in the same end-of-day warning system as an urgent task, unless its parent task is completed or paused.
Editing and reordering sub-tasks
- Edit a sub-task name directly in its text field.
- Hold Shift, Ctrl, or Command while clicking a sub-task row or its name to toggle multiple sub-tasks into a selection.
- Right-click the sub-task row outside its editable name field to open Buds actions with Copy title first and Copy sub-task immediately below it. Right-click directly inside the sub-task name field to use the browser's native text menu, including spelling suggestions when available.
- If the right-clicked sub-task is selected, Copy sub-task copies every selected sub-task and ignores selected parent tasks. Right-clicking an unselected sub-task copies only that one sub-task.
- When a sub-task is selected, Copy title also includes any tasks currently selected on the board, with every selected title on its own line.
- Long sub-task names wrap and grow vertically instead of being cut off.
- Drag a sub-task by its grip to reorder it. On touch screens, use the grip specifically so the rest of the task window remains scrollable.
- Use the remove button to delete a sub-task.
Sub-task notes
Each sub-task can optionally have its own note. Click + Add note below a sub-task to create one. Use Remove note to remove the note and collapse that area again.
They stay attached to their parent task. Copying, pasting, duplicating, exporting, or importing a task keeps its sub-tasks and sub-task notes with it.
If one or more unfinished sub-tasks are flagged Urgent, the parent task card shows a dedicated dashed Urgent sub-task chip with the count. This is separate from the task's own Urgent chip, so nested urgency is visible directly from the board.
Undo & Redo
Buds keeps up to 50 undo steps during the current session. The Undo and Redo buttons show the next available action in their labels, such as “Undo move task” or “Redo delete section”.
Keyboard shortcuts
- Ctrl/Command + Z: Undo
- Ctrl/Command + Y: Redo
- Ctrl/Command + Shift + Z: Redo
Board history and workspace history
Ordinary task and section edits use the active board's history. Changes that affect the whole workspace—such as board management and global tag changes—use workspace history. The Undo button chooses the most recent eligible action across those histories.
Grouped editing
Continuous typing in task names, notes, sub-task names, and sub-task notes is grouped instead of creating an undo step for every keystroke. Drag operations are also intended to produce one logical undo step.
Native text-field undo
When your cursor is inside an editable text field, the browser's normal text editing undo takes priority. Move focus out of the field before using the board-level Undo shortcut if you want to undo a board action.
Undo/Redo history is session-based and is not included in exported backups. It may not be available after the browser session ends. Use a workspace backup for long-term recovery.
Backups & Restore
The normal backup and restore tools are in Settings → Data & backups. Buds keeps the file format out of the normal workflow: downloading a backup is one click, and restoring starts by choosing a backup file.
Workspace backup
Download backup saves every board, the active-board reference, and global tag definitions in one portable Buds backup file. The Settings window closes after the download starts and a temporary status confirms the action.
Current-board backup
Download board saves the active board's tasks, sections, names, colors, placement data, board-column count, and the tag definitions needed by that board. It does not replace or alter the workspace.
Downloaded backup filenames use local date and time down to the second, for example:
buds-board-2026-08-28_16-45-30.json
buds-workspace-2026-08-28_16-45-30.json
Restore from a backup file
Choose Restore from a backup file → Choose backup file. Buds reads the file and shows a human-readable confirmation before changing anything. A single-board backup is added as a new board and keeps existing boards. A workspace backup replaces the current board collection and global tags after confirmation. Workspace restore remains undoable during the current session.
Storage safety check
Before restoring, Buds projects the localStorage payload it expects to save. Normal restores only report that the storage check passed. If the projected result approaches the local-storage safety reference, the confirmation becomes progressively more explicit; a restore projected at or above the safety reference is blocked before current workspace data is replaced.
Advanced backup options
Raw backup text is hidden by default. Open Advanced backup options only when you need to copy backup data as text or paste backup data received another way. These tools use the same backup schemas as downloaded files.
Download a workspace backup whenever you want a complete recovery point, and keep at least one copy outside the browser.
Backup reminders
Buds can place a reminder in the Notifications bell when a workspace backup would be useful. If you have never created a workspace backup, the first reminder waits at least 3 days and only appears after the workspace contains meaningful data. Later reminders require both an older backup and actual workspace changes since that backup.
Successful workspace downloads, workspace backup-data copies, and automatic workspace backups all update backup tracking.
Keyboard Shortcuts
| Shortcut / action | Result |
|---|---|
| Ctrl/Command + Z | Undo the most recent board/workspace action when not using native text-field undo. |
| Ctrl/Command + Y | Redo. |
| Ctrl/Command + Shift + Z | Redo using the alternate common shortcut. |
| Shift + click task | Toggle that task in the multi-selection. |
| Ctrl/Command + C | Copy selected tasks when not typing in an editable field. |
| Delete or Backspace | Delete selected tasks when not typing in an editable field. |
| Esc | Close the highest-priority open dialog/menu; when appropriate, clear task selection. |
| Browser / device Back | Close the active Buds modal. Settings sub-screens with a Back control return to Settings first. If nothing remains open, Buds asks before leaving the site by default. |
| Enter in Add Task | Add the task. |
| Ctrl/Command + Enter in Queue | Add the current Queue bulk-entry text. |
| Enter or Space on a focused task card | Open the task, or toggle it when selection mode is active. |
| Right-click task | Open task actions such as Edit, Copy, Deselect, and Delete. |
| Right-click section | Open Paste into section. |
Shortcuts that could interfere with normal typing are intentionally ignored while you are editing an input or textarea when appropriate.
Notifications
The bell in the top bar contains important in-app notices about data protection, backups, app updates, and compatibility. Buds notifications stay inside the app; this version does not send operating-system push notifications, email alerts, or background notifications when the app is closed.
Reading and clearing notifications
- The red badge on the bell shows the number of unread notifications and disappears when there are none.
- Click the bell to open the notification list.
- Click a notification to mark it read and open its full message.
- Mark all read keeps the notices but removes their unread state.
- Dismiss all dismisses every currently visible notice.
- Individual notification details can also be dismissed separately.
Paused-task reminders
A paused task can optionally have a future reminder date. Its notification becomes due at the time chosen in Settings → Tasks → Paused tasks; midnight is the default. Buds checks once per minute while open and catches an overdue reminder the next time the app opens. The reminder does not repeat unless you schedule another reminder.
Each paused task can have its own reminder chosen beside the Pause button: Tomorrow, This weekend, 1 week, 1 month, 1st of month, a custom date, or no reminder. 1st of month means the first day of the next calendar month. Remind me about paused tasks in Settings → Tasks → Paused tasks can optionally enable a monthly or every-3-months review digest for paused tasks that have no individual reminder.
Temporary status messages
Routine confirmations such as Queue parsing changes, successful saves, and other completed actions appear as temporary floating messages rather than notification-bell items. On desktop they float near the top of the workspace below the sticky navigation; on small mobile screens they float near the bottom of the screen. They disappear automatically.
Backup reminders
Backup notices appear only when a backup would actually be useful. The first-backup reminder waits for meaningful board data and at least 3 days of use. Later reminders require both an old workspace backup and actual workspace changes since that backup.
A successful manual or automatic full-workspace backup updates Buds's backup tracking. Routine successful automatic saves use the small status message instead of creating notification-bell entries.
Automatic workspace backups
Buds can write full-workspace JSON backups directly to local file storage. The browser requires you to approve a location through its folder picker, so Buds cannot silently choose one. For a new connection, choose a parent location such as Documents; Buds then creates the first unused folder name—Buds, Buds 2, and so on—with separate backups and media folders inside. The media folder is reserved for future Buds-managed uploads.
On supported browsers, Buds asks the picker to start in Documents and uses a dedicated picker identity so the browser can remember the location. That starting location is only a hint: Android may open at This phone, where the root cannot be approved. Open Documents, then approve Documents itself; do not create or select the Buds folder manually.
After storage is connected, automatic backups are enabled by default and only create a new file when the workspace has changed. Settings lets you turn automatic backups on or off, change the interval, change or reconnect the location, manage files, and see the last successful automatic backup time.
When an automatic backup succeeds, the app shows a brief non-interruptive Workspace backup saved status message. Automatic backups use the same full-workspace backup format as Download backup.
A future Buds project is planned to add cloud saving so a recovery copy can live outside both the browser and the local backup folder. Until that exists, use workspace JSON backups for recovery protection.
Browsers without direct folder access
Some browsers do not expose the directory-picker API required for automatic file backups. Buds currently identifies Chrome, Edge, and Opera on desktop as the supported browsers for this feature. Brave, Firefox, and Safari are not supported for automatic file backups. In unsupported browsers, Settings shows the feature as Unavailable, and the first-task onboarding offers Create workspace backup instead of folder setup.
Choosing that manual-backup fallback resets the onboarding task counter. Because no automatic folder has been connected, the reminder can become eligible again only after at least 25 additional newly created tasks and at least 24 hours.
First-task backup-folder prompt
If no automatic-backup folder has ever been connected, Buds waits until you create a new task rather than interrupting you on startup. About 3 seconds after the first newly created task, it explains automatic backups and offers Choose parent folder or Not Now.
Existing active users with no connected folder follow the same rule: the prompt starts after the next newly created task. If Not Now is chosen, Buds waits for at least 25 additional newly created tasks and at least 24 hours before asking again. Both conditions must be met, so a burst of task creation during initial setup does not cause repeated prompts. Successfully selecting a folder stops these onboarding prompts.
Managing local Buds files
Manage files lists only files Buds recorded as creating, including their type, size, saved time, and current verification status. You can select verified files or all verified backups and delete them with one permanent-deletion confirmation. Immediately before deletion, Buds recalculates each file's size and SHA-256 content fingerprint. Unknown, modified, missing, pre-registry, or unprovable files are never deleted.
Disconnect folder is separate and never deletes files or folders. It forgets the saved permission and resets setup so the prompt can appear again after the next newly created task.
Delete Buds folder appears only for a folder that this Buds version created and can still reach from its saved parent. Before showing its confirmation, Buds audits every contained file and directory. One unknown or modified item blocks the entire operation. Folders connected by older Buds versions remain user-owned: Buds may manage exact verified files inside them, but it will never delete the folder itself.
Save failure warning
If an important browser-storage write fails, Buds posts an urgent save-failure notification with an Export workspace action. Keep the page open until you have protected the in-memory data.
What's New
Buds records the highest app version this browser storage has seen. When a later version is opened for the first time, the app can post a one-time Buds updated to vX notification with release notes for that version.
The first Buds version that introduces version tracking has no older stored version to compare against, so it establishes the initial baseline without creating a false update notice.
Older-version warning
If the same browser storage was previously opened by a newer tracked Buds version, an older tracked copy can post an urgent compatibility warning. This protects against accidentally continuing important work in an app copy that may not understand newer features or data formats.
Buds keeps the highest version internally for comparison, but the warning itself only tells you that a newer version was previously used. It shows the version you are currently running without exposing the stored newer-version number. Returning to the newest recorded version clears the active older-version warning.
Data migration completed
When Buds actually converts older single-board browser data into the current workspace format, it posts a one-time informational notice confirming that the migration occurred and how many tasks were preserved. A fresh-install default board does not trigger this notice because no older user data was migrated.
Browser storage capacity
Settings includes a dedicated Storage usage meter for localStorage. It estimates the size of localStorage key/value strings and compares the total with a conservative 5 MiB reference. The meter also separates Buds-owned localStorage from other localStorage on the same origin.
The localStorage meter is intentionally approximate: browser storage accounting and practical limits can differ, so it should be treated as an early-warning gauge rather than an exact remaining-byte counter. Buds posts staged notices at about 70%, 80%, and 90% of the reference, with the highest level marked urgent.
This localStorage-specific meter is separate from the browser's general storage-quota estimate. When the browser supports navigator.storage.estimate(), Settings also shows that broader site-storage reading, and the existing general capacity notification can still warn when the browser reports at least 85% of its overall quota in use.
Different browsers, browser profiles, or origins use separate local storage. Buds can only compare version history that exists in the same browser storage.
Data Privacy
The current version of Buds is designed so your board contents stay in your browser. There is no Buds account, cloud database, sync service, or server API receiving your boards, tasks, notes, tags, or sub-tasks.
Task names, board names, notes, sub-tasks, tags, section names, Queue contents, and layout data are stored locally by your browser. The current application does not upload that information to Pyips.
What the app sends to Pyips
In this version, the board application itself does not contain a save-to-server or synchronization connection. It does not use background API requests to send your task data to Pyips.
The current app also does not include analytics, advertising trackers, telemetry, real-time socket connections, or background reporting code for your board activity.
What may still be visible when using a hosted copy
Because Buds is served from pyips.com/buds/, the web host or content-delivery service may receive ordinary web-request information needed to serve the page. Depending on the hosting setup, that can include information such as your IP address, browser/user-agent information, the page requested, and request timestamps.
That normal hosting information is separate from your board contents. The current board code does not include your tasks, notes, tags, or other saved board data in those page requests.
Google Fonts
The current hosted app loads Bricolage Grotesque, Inter, and JetBrains Mono from Google Fonts. Your browser may therefore make requests to fonts.googleapis.com and fonts.gstatic.com.
Those font requests can expose ordinary request metadata, such as an IP address and browser information, to the font provider under that provider's own privacy practices. They do not contain your Buds task or board contents.
Backups stay under your control
Creating a Buds backup does not automatically upload it anywhere. The backup is copied or downloaded through your browser. Pyips can only see a backup if you choose to send, upload, or otherwise share it.
Contacting support
If you email contact@pyips.com, Pyips can see the information you intentionally include in that message. The same applies if you choose to send screenshots, exported backup data, task text, or other diagnostic information while asking for help.
You do not need to send your entire board to report a problem. Remove or redact private information before sending screenshots or backups unless that information is necessary for the issue you want investigated.
Automatic backup folder access
If you enable automatic backups, the browser asks you to choose a folder. Buds stores the browser-provided folder handle locally so it can write workspace JSON backups there when permission allows. Choosing a folder does not upload that folder, its path, or your workspace contents to Pyips.
Browser security controls the permission. Buds only requests read/write access to the folder handle that you explicitly selected, and the browser may require you to reconnect that permission in a later session.
Planned future cloud saves
Cloud saving is planned as a future project, but this version does not upload workspace data to a Pyips cloud account. A future account-based or synchronized version would require server-side storage and a different privacy model.
Before users are asked to store board data on Pyips-controlled servers, this documentation and the product's privacy information should be updated to explain exactly what is stored, how it is protected, and how users can remove or recover it.
Data Storage
Buds is currently a client-side application. Its normal working data is stored in the browser rather than in an online account or remote database.
How saving works today
Buds currently uses a local-first saving system. Your normal working copy is saved in browser storage as you work, so adding, editing, moving, or organizing tasks does not require a cloud connection.
Browser storage is convenient but it is not a disaster-proof backup. Clearing browser/site data, deleting the browser profile, using a different browser, or losing the device can make that working copy unavailable. For that reason, Buds also provides portable full-workspace JSON backups.
Completed-task display preferences
Completed-task visibility, manual movement, and appearance settings are browser-local preferences shared across boards. The automatic completion destination is also stored as a browser-local preference, but its selected section is board-specific because each board has its own section list. These preferences do not change whether completion records exist in the workspace.
Modern workspace and legacy data
Current multi-board workspace data is stored once in Buds's modern workspace record. Older single-board storage keys are still understood when migrating an older installation, but current versions no longer maintain duplicate active-board copies in those obsolete keys. After a valid modern workspace has been stored successfully, obsolete single-board mirror data is removed.
What is stored locally
The browser stores the board collection and related working state, including tasks, sections, section layouts, board names, tags, and other saved board settings. Browser-level preferences such as appearance, Queue comma separation, and whether Buds confirms before browser Back leaves the site are also remembered locally.
What local storage means
- Your boards do not automatically appear on another computer or phone.
- A different browser or browser profile generally has separate storage.
- Clearing site/browser storage can remove your saved Buds data.
- Private/incognito sessions may not preserve data after the private session ends.
Keep at least one downloaded or automatic workspace backup outside Buds's browser storage so you can recover after site-data loss, profile loss, or device loss.
What backups do not include
Board/workspace backups protect board data. They do not include the current Undo/Redo session, and browser-only interface preferences may remain local to that browser rather than being part of a board backup.
Automatic file backups
On supported Chromium browsers, Buds can save full-workspace JSON files directly into a folder that you choose. Availability still depends on the browser and device exposing direct folder access; when it is unavailable, use Download workspace backup instead.
The folder must be approved by you through the browser's folder picker. Once connected and permission remains available, Buds can write backups quietly while the board is open. The default interval is 15 minutes, with 5, 15, 30, and 60 minute choices in Settings.
Automatic file backup only creates a new JSON file when the workspace has changed. A successful save shows a brief Workspace backup saved status message rather than adding a notification-bell item.
These backup files are real files outside Buds's normal browser storage. If browser history, cookies, or site data are cleared, a backup file already written to your selected folder should remain there unless that file or folder is separately deleted. You can restore it later through Settings → Data & backups → Choose backup file.
Browsers without automatic file backups
When direct automatic file backups are unavailable, Buds offers a normal Create workspace backup download instead. This creates the same portable full-workspace JSON data, but the browser handles the download rather than allowing Buds to write directly to a selected folder in the background.
Backup-folder onboarding
If no automatic backup folder has been connected, Buds waits until a newly created task before showing the backup setup explanation. The first prompt appears a few seconds after that task is created. Choosing Not Now postpones another prompt until both at least 25 additional tasks have been created and at least 24 hours have passed.
Restoring from a workspace backup
A full-workspace JSON backup contains the board collection and shared workspace data needed for recovery. Open Settings → Data & backups and choose Choose backup file when the browser's working copy has been lost or when moving the workspace to another browser or computer.
Browser-local data can disappear when site data or a browser profile is cleared. A downloaded or automatically written workspace JSON file gives you a recovery copy that is separate from that browser storage.
Save failure warning
If the browser rejects an important local-storage write, Buds posts an urgent notification titled “Buds couldn't save your latest changes”. Treat this as a data-protection warning: keep the page open and use the notification's Export workspace action to create a recovery copy before closing or reloading.
A storage write can fail because browser storage is full, unavailable, blocked, restricted by private/incognito behavior, or affected by another browser/storage problem. The warning is deduplicated into one active production notice rather than creating a new notification for every failed save attempt.
Storage capacity warnings
Buds uses two different storage checks. The localStorage meter in Settings estimates Web Storage usage against a 5 MiB reference and posts staged notifications at roughly 70%, 80%, and 90%. The 90% localStorage notice is urgent and recommends creating a workspace backup before adding much more data.
Separately, browsers that expose a usable general storage estimate are checked against the browser-reported site quota. At 85% or higher, Buds posts the existing broader browser-storage warning. The two readings are intentionally kept separate because the browser's general site quota is not the same thing as localStorage's practical Web Storage limit.
Cloud saves are planned for a future project
Buds does not currently have user accounts, server-side workspace storage, automatic cloud backup, or multi-device synchronization. The current saving system is browser-local storage plus portable JSON backups.
Cloud saves are planned as a later project. The goal is to eventually provide an off-device recovery copy that can survive browser-data loss and support recovery from another browser or device. That cloud system is not implemented in this version and should not be relied on yet.
Troubleshooting
My boards are missing on another device or browser
That is expected in the current version. Data is stored locally in the browser. On the browser that has the boards, use Settings → Data & backups → Download backup, then use Choose backup file in the other browser or device.
I cleared site data or changed browser profiles and my boards are gone
Buds's current working copy is browser-local, so clearing site data or switching to a different browser profile can make that copy unavailable. If you have a workspace backup, open Settings → Data & backups and use Choose backup file to restore it.
Queue split one note into several tasks
- Check whether Separate By Commas is turned on.
- Remember that semicolons and new lines are separators by default.
- Wrap text that must stay together in balanced square brackets
[ ].
Dragging scrolls the page on my phone
On touch screens, start the drag from the dedicated grip rather than from the task body. The rest of the card intentionally remains available for normal vertical scrolling. The same rule applies to sub-tasks and reorderable rows in Manage Sections and Manage Boards.
A dropdown opens outside the phone frame in desktop responsive testing
Desktop browser developer tools can draw native <select> option menus outside the emulated phone viewport. That popup is browser chrome rather than normal Buds page layout. On an actual phone, the browser or operating system normally presents its native selection interface. Buds intentionally keeps native select controls for accessibility and mobile compatibility.
I selected several tasks, but dragging moved only one
Start the drag from a task that is itself selected. Dragging an unselected card intentionally moves only that card.
I cannot place Queue in one individual grid cell
Queue is intentionally full width. Its position is a row boundary: it can appear before all sections or below a complete logical row of board positions.
My board is showing fewer columns than I configured
The configured 1–8 column value is used on normal desktop widths. Narrow windows automatically reduce the effective column count for usability. Widen the browser window and the configured count returns.
Some tasks look dimmed
A tag spotlight may be active. Click the highlighted tag pill again to clear the spotlight.
Paste says no Buds tasks are available
Copy the task or selection again. Buds keeps an in-app copy while the page is open and also makes a best-effort attempt to use the system clipboard. Browser clipboard permissions can prevent recovery of copied Buds task data after a refresh.
Undo is not available
Undo is limited to the current session and the 50-step history. It is not restored from an exported backup. If you are editing text, the browser's native text undo may also be handling the shortcut instead of board history.
I see an older-version warning
This browser storage was previously opened by a newer tracked Buds version. Use that newer app copy before making important changes when possible. If you need to work with the current page first, create a workspace backup so you have a recovery copy.
Automatic backups say the folder needs to be reconnected
The browser remembered the folder handle but no longer has active write permission. Buds reports this as Access paused, not disconnected. Open Settings and use Resume backups; this requests access to the remembered folder again without reopening the folder picker. Browsers can require this again after a restart or permission change.
I never see the automatic-backup folder prompt
The onboarding prompt is tied to newly created tasks, not simply opening an existing workspace. After choosing Not Now, the next prompt requires both 25 additional newly created tasks and a 24-hour cooldown. On browsers without direct folder-access support, the modal still appears but offers a normal full-workspace backup instead of folder setup.
I see a storage-capacity warning
Open Settings and check Settings → Data & backups → Storage usage. A localStorage warning means the approximate Web Storage meter has crossed one of its early-warning thresholds; a general browser-storage warning means the browser itself reports that the site's broader storage quota is getting full. In either case, create a full workspace backup before deleting data or troubleshooting storage.
A restore fails or is blocked
For normal restore, make sure you selected an unchanged Buds backup file. If you are using Advanced backup options → Paste backup data, make sure the copied JSON is complete and unedited. If Buds says the restore was blocked because projected localStorage is too large, the current workspace has not been replaced; keep the backup unchanged and create or restore a smaller workspace until a higher-capacity storage architecture is available.
I cannot delete Queue or the last board
Both restrictions are intentional. Every board must keep its permanent Queue section, and the workspace must always contain at least one board.
I need help
Open Contact in the footer. The current support address is contact@pyips.com.