Getting Started
Flow is a visual task and project organizer that works immediately without an account. A single workspace 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.
Current storage model
An account is optional. If you stay signed out, your working workspace remains in this browser and the existing local backup tools continue to work. If you create or sign in to a free account, Flow uses account-backed server storage; creating an account automatically migrates the current guest workspace after the server verifies it.
The main parts of the screen
- Top row: the editable board name, Add Task box, Account/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.
Two ways to add a task
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 Flow: 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
- Add new tasks to top: On is the default. New parent tasks are inserted before existing tasks in their destination section, including tasks added through Queue and clipboard paste. Turn it Off to append new tasks. Changing this setting does not move existing cards.
- 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 Flow 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.
Most users never need raw JSON
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 Flow 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.
What duplication includes
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, Flow 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.
- Board: move the task to another board without copying or recreating it.
- Section: move it directly to another section or Queue on the current board.
- 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.
Example
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 Flow 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, Flow 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. Flow 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 defaults to the current board's existing section labeled Done. Default (Done section) follows the board's labels and is Off when no section is labeled Done; Off disables automatic movement for that board. You can also choose an existing section. Flow never creates or renames a section for this setting. Choosing a real destination immediately moves existing completed tasks there and sends future completions there. This automatic movement is separate from Allow manual moving, which is On by default and controls manual dragging, reordering, Section-field movement, and moving a completed task to another board. 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 on the same board. Inside the task window, use Board to move the original task to another board and Section to choose its location on the active board. The task window follows the task to its destination board so you can keep editing it.
You can also right-click a task and choose Move to board…. Flow lets you choose both the destination board and section. The suggested section matches the current section by internal ID or displayed name when possible; otherwise Flow safely falls back to Queue. The move preserves the task's ID, notes, tags, sub-tasks, completion/paused state, and other task data, and it can be undone as one workspace action.
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
- Move to board…, or Move selected to board… when multiple selected tasks are being acted on
- 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.
Fast organization
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.
Comma separation off
Example task, with extra detail
Creates one task.
Comma separation on
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
[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.
Example
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
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, Flow 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.
Example
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, Flow 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.
Small-screen behavior
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.
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. Flow 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, Flow 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, Flow 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.
Dragging an unselected task
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.
Moving selected tasks between boards
When multiple parent tasks are selected, right-click any selected task and choose Move selected to board…. Choose the destination board and section once; Flow transfers the selected tasks together and records the operation as one workspace Undo step.
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 as JSON, 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 Flow 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, Flow 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.
Flow 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 Flow 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. Flow 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 Flow actions with Copy title first and Copy as JSON 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 as JSON 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.
Sub-tasks are not separate board cards
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
Flow 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 is not a backup
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. Flow 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 Flow 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:
flow-board-2026-08-28_16-45-30.json
flow-workspace-2026-08-28_16-45-30.json
Restore from a backup file
Choose Restore from a backup file → Choose backup file. Flow 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, Flow 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.
Recommended backup habit
Download a workspace backup whenever you want a complete recovery point, and keep at least one copy outside the browser.
Backup reminders
Flow 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 Flow modal. Settings sub-screens with a Back control return to Settings first. If nothing remains open, Flow 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. |
Text editing takes priority
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. Flow 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 the notification body to mark it read and open its full message.
- Use the × on the right side of a notification to dismiss it immediately without opening it.
- 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. Flow 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 Flow's backup tracking. Routine successful automatic saves use the small status message instead of creating notification-bell entries.
Automatic workspace backups
Flow can write full-workspace JSON backups directly to local file storage. The browser requires you to approve a location through its folder picker, so Flow cannot silently choose one. For a new connection, choose a parent location such as Documents; Flow then creates the first unused folder name—Flow, Flow 2, and so on—with separate backups and media folders inside. The media folder is reserved for future Flow-managed uploads.
On supported browsers, Flow 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 Flow 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.
Cloud backup is planned, but not available yet
A future Flow 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. Flow 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, Flow 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, Flow 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 Flow files
Manage files lists only files Flow 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, Flow 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 Flow folder appears only for a folder that this Flow version created and can still reach from its saved parent. Before showing its confirmation, Flow audits every contained file and directory. One unknown or modified item blocks the entire operation. Folders connected by older Flow versions remain user-owned: Flow 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, Flow 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
Flow 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 Flow updated to vX notification with release notes for that version.
Version tracking starts with versions that include this feature
The first Flow 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 Flow 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.
Flow 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 Flow 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 Flow-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. Flow 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.
Browser storage must be shared for version detection to work
Different browsers, browser profiles, or origins use separate local storage. Flow can only compare version history that exists in the same browser storage.
Data Privacy
Flow always keeps your local browser workspace as-is. A free Pyips account adds identity and, separately, a way to open server-backed Flow data for a Space you have access to.
Your browser workspace stays browser-backed either way
You can use Flow without an account. Whether or not you sign in, your boards, tasks, notes, tags, sub-tasks, and normal workspace data remain in this browser and are not uploaded anywhere on their own.
Signing in to a Pyips account
Creating or signing in to a free Pyips account establishes your account identity only. It does not, by itself, send your browser workspace to a server.
Space Flow sessions
A Pyips account can belong to one or more Spaces. If a Space has Flow enabled and you have access to it, the Account window offers a way to open that Space's Flow data — as a read-only preview, or, with edit or manage access, as an editable session. In an editable session, most edits — Task and Sub-task titles, notes, creation, deletion, moving Tasks between Sections, and Queue, Board, Section and Tag changes — are saved through Pyips using your authenticated session; a few kinds of change are not saved there yet and are reverted with a notice instead of lost silently. While an edit has not yet been confirmed saved, Pyips keeps a copy of the text you typed (titles, notes and new items) in this browser's storage, so it can offer to restore it if the page closes or the connection drops; that copy is removed once the edit is saved, if you discard it, and when you sign out. This never reads from or writes to your local browser workspace.
Authentication
Account authentication uses Django's normal password hashing and server-side session system. The browser receives a Secure, HttpOnly session cookie and uses Django CSRF protection for account-changing requests. Flow does not store an account JWT or plain-text password in localStorage.
What may still be visible when using Flow
Because Flow is served from pyips.com/flow/, the web host or content-delivery service may receive ordinary request information needed to serve the site, such as an IP address, browser/user-agent information, requested page, and request timestamps. Signed-in API requests additionally carry the account session needed to authenticate the account and, where applicable, a Space's Flow session.
Fonts
Flow's fonts (Bricolage Grotesque, Inter, and JetBrains Mono; Manrope on the public pages) are served from pyips.com itself, so opening a page does not send your IP address, browser details, or the page you were on to a third-party font provider.
Backups stay under your control
Manual and supported automatic file backups remain available. Choosing a local automatic-backup folder does not upload that folder, its path, or unrelated files to Pyips. Browser security controls access to the selected folder handle.
Your browser workspace and a Space's Flow data remain separate
Opening or closing a Space's Flow data never converts it into your local browser workspace, or the other way around. Signing out, returning to your browser workspace, or reloading always leaves your local browser workspace exactly as it was.
Contacting support
If you email contact@pyips.com, Pyips can see the information you intentionally include. Remove or redact private information from screenshots or backups unless it is necessary to investigate the issue.
Data Storage
Flow keeps your browser workspace browser-backed whether or not you are signed in. A Pyips account separately adds Spaces, and a Space with Flow enabled can offer server-backed Flow data through the Account window.
How browser-workspace saving works
Flow keeps the established browser-storage system for your working copy. It saves locally as you work and does not require an account. Clearing site data, deleting the browser profile, or losing the device can make that copy unavailable, so portable workspace backups remain important.
How a Space's Flow saving works
The Account window's Server saves field is dormant during the current platform rebuild: signing in does not yet move your browser workspace to a server, so it stays at "—" outside a Space's Flow session. Inside an editable Space Flow session, Task and Sub-task title, notes, creation, and deletion save through Pyips right away, tracked by a per-resource version so a stale copy cannot silently overwrite a newer one from another client. Your browser workspace is untouched while that session is open, and remains exactly as you left it when you return to it.
Completed-task display preferences
Completed-task visibility and related preferences remain browser-local today, whether or not you are signed in, and whether or not a Space's Flow data is open.
Modern workspace and legacy data
Current multi-board workspace data is stored once in Flow'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 Flow 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 Flow data.
- Private/incognito sessions may not preserve data after the private session ends.
Your browser working copy is not a backup
Keep at least one downloaded or automatic workspace backup outside Flow'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, Flow 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, Flow 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 Flow'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, Flow 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 Flow to write directly to a selected folder in the background.
Backup-folder onboarding
If no automatic backup folder has been connected, Flow 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.
Keep at least one backup outside browser storage
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, Flow posts an urgent notification titled “Flow 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
Flow 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, Flow 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
Flow 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
Flow'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 Flow page layout. On an actual phone, the browser or operating system normally presents its native selection interface. Flow 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 Flow tasks are available
Copy the task or selection again. Flow 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 Flow 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 Flow 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. Flow 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 Flow backup file. If you are using Advanced backup options → Paste backup data, make sure the copied JSON is complete and unedited. If Flow 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.