Skip to content

Tasks

Ten task manager screens in light and dark: a personal queue, one list shown as a board, a table and a timeline, and the task, project, inbox, search and filter screens around it. Every control is an instance of an Appetite UI component, so one token change moves every screen.

On this page
  1. Preview
  2. What the flow needs
  3. Board, Table, Timeline
  4. Components
  5. Tokens

Preview

Ten screens for one task manager app. My work, Board, Table and Timeline show the same list of tasks four ways, Task and Project go one level deeper, and Inbox, Search, Filters and New task close the loop. Each screen is drawn in Light and in Dark.

Tasks, 10 screens393 x 852 each, Light and Dark
Tasks app My work screen: a This week card with 12 of 23 done, 4 due today, 7 in progress and 12 done, a Today, Upcoming and Done switch, task rows with checkboxes, labels and assignee avatars, and a floating add button above the tab barTasks app My work screen in dark mode: a This week card with 12 of 23 done, 4 due today, 7 in progress and 12 done, a Today, Upcoming and Done switch, task rows with checkboxes, labels and assignee avatars, and a floating add button above the tab bar
My work
Tasks app Board screen: the Product project with a Board view switch, search, sort and filter buttons and a New button above To do and In progress columns of task cards with labels, due dates, comment counts and assignee avatars, and an Add task buttonTasks app Board screen in dark mode: the Product project with a Board view switch, search, sort and filter buttons and a New button above To do and In progress columns of task cards with labels, due dates, comment counts and assignee avatars, and an Add task button
Board
Tasks app Table screen: Product tasks sorted by due date in a table with Task, Due and Status columns, a By status bar that splits 18 tasks into To do, In progress, In review and Done, and Group by, Columns and Export rowsTasks app Table screen in dark mode: Product tasks sorted by due date in a table with Task, Due and Status columns, a By status bar that splits 18 tasks into To do, In progress, In review and Done, and Group by, Columns and Export rows
Table
Tasks app Timeline screen: the week of 8 September as day columns with the 10th highlighted, seven task bars carrying assignee avatars and durations, and a To do, In progress, In review and Done legendTasks app Timeline screen in dark mode: the week of 8 September as day columns with the 10th highlighted, seven task bars carrying assignee avatars and durations, and a To do, In progress, In review and Done legend
Timeline
Tasks app Task screen: Onboarding redesign with status In progress, assignee Kai Andersen, due 12 September, priority High, onboarding and v3.0 labels, a description, two attachment previews and an Add a comment fieldTasks app Task screen in dark mode: Onboarding redesign with status In progress, assignee Kai Andersen, due 12 September, priority High, onboarding and v3.0 labels, a description, two attachment previews and an Add a comment field
Task
Tasks app Project screen: Mobile app 3.0 with In progress, High priority and Due 15 Oct badges, 50% completion, 9 open tasks and an Hours logged bar chart for the last 7 days that peaks at 11 with an Avg 7 lineTasks app Project screen in dark mode: Mobile app 3.0 with In progress, High priority and Due 15 Oct badges, 50% completion, 9 open tasks and an Hours logged bar chart for the last 7 days that peaks at 11 with an Avg 7 line
Project
Tasks app Inbox screen: a 2 unread count, All, Mentions and Assigned tabs, and notifications grouped under Today and Yesterday, each with an avatar, an action mark and a timeTasks app Inbox screen in dark mode: a 2 unread count, All, Mentions and Assigned tabs, and notifications grouped under Today and Yesterday, each with an avatar, an action mark and a time
Inbox
Tasks app Search screen: the query onboarding with recent searches as removable chips and results grouped as Tasks, Projects and PeopleTasks app Search screen in dark mode: the query onboarding with recent searches as removable chips and results grouped as Tasks, Projects and People
Search
Tasks app Filters sheet over the dimmed Board: a Board, Table and Timeline switch, Status, Priority and Assignee chips, an Only overdue switch, and Clear and Show 3 results buttonsTasks app Filters sheet over the dimmed Board in dark mode: a Board, Table and Timeline switch, Status, Priority and Assignee chips, an Only overdue switch, and Clear and Show 3 results buttons
Filters
Tasks app New task sheet with the keyboard open: the title Draft release notes for 3.0, Mobile, Today, Kai, High and Add label chips, an attachment toolbar and the iOS keyboardTasks app New task sheet with the keyboard open in dark mode: the title Draft release notes for 3.0, Mobile, Today, Kai, High and Add label chips, an attachment toolbar and the iOS keyboard
New task
Screens, screen, what it shows, built from
ScreenWhat it showsBuilt from
My workThe personal queue: a week summary, a Today, Upcoming and Done switch, task rowsAvatar, Badge, Checkbox, Segmented Control, Floating Action Button, Navigation
BoardThe Product project as columns of task cardsBadge, Avatar, Button, Chip
TableThe same tasks as rows with Due and Status, plus a status splitTable, Button, Chip
TimelineThe same tasks as bars across a weekAvatar, Button, Chip
TaskOne task: fields, description, attachments, a comment fieldTop Bars, Badge, Chip, Avatar, Checkbox, Composer
ProjectCompletion, open tasks and hours loggedTop Bars, Key Value Row, Chart, Badge, Avatar group
InboxNotifications grouped by daySegmented Control, Avatar, Button
SearchRecent searches and results grouped by typeSearch, Chip, List
FiltersA sheet of filters over the BoardChip, Segmented Control, Toggle, Button
New taskA title, property chips and the keyboardChip, Keyboard

What does a task manager flow need from a component library?

One list that can be drawn several ways, a row that carries status, owner and date, and a short loop around it to filter, search and add.

A task manager needs a view switcher, a row or card for one task, a way to tick it off, a table for the dense view, a sheet for filters and a composer for new work. In this set the row is Badge, Avatar and Button, the view switcher is a Chip, and the loop is Task, Inbox, Search, Filters and New task. All of it is the library as it ships.

Needs, need, component, where it appears
NeedComponentWhere it appears
Name the view and switch itChip, Segmented ControlBoard, Table and Timeline toolbars, the View row on Filters
Show status, label and owner on one taskBadge, AvatarEvery list screen
Tick a task offCheckboxMy work, Task
Read many tasks at onceTableTable
Chart progress and hoursChartProject
Narrow the listChip, Segmented Control, Toggle, ButtonFilters
Find a task, project or personSearch, ListSearch
Write a task or a commentComposer, KeyboardTask, New task
Move around the appNavigation, Top BarsSix screens carry the tab bar, Task and Project a top bar

On iOS the minimum touch target is 44 pt. The frames pin Platform to ios-md, where platform/min-touch-target reads 44, so that is the size a tap target on these screens starts from. Android would read 48.

Which components carry the Board, Table and Timeline views?

Board is cards of Badge, Avatar and Button. Table is the Table component with the same three inside its cells. Timeline is Avatar on bars over a grid drawn by hand.

The three views share one toolbar: a Chip that names the view, then search, sort and filter Buttons and a New Button. They also share one status set, To do, In progress, In review and Done, which names the Table status split, the Timeline legend and the Status chips on Filters. Switching view changes the body of the screen and nothing above it.

Views, view, screen, built from, drawn by hand
ViewScreenBuilt fromDrawn by hand
BoardBoardBadge 9, Avatar 9, Button 8 (four in the toolbar, one Add task per column), Chip 1, the calendar and message-square icons 9 eachFour status dots in the column headers
TableTableTable 1 with five header cells and twenty cells, Badge 4, Avatar 4 and Button 4 inside the cells, Button 4 in the toolbar, Chip 1Four dots in the status legend
TimelineTimelineAvatar 7 on seven task bars, Button 4, Chip 1One Today column, seven day lines and four legend swatches

The frames hold more than the pictures show. The Board scrolls sideways, so its third and fourth column sit past the frame edge, and the Table carries five columns of which three are in view. Filters is the Board with a sheet over it: a bg/scrim fill dims the Board, and the sheet adds a Segmented Control, ten Chips and two Toggles. That is why Filters holds the most placed instances of any screen, 66 against 52 on Board.

What are the Tasks screens built from?

Every instance on the ten light frames, counted once, by the component it comes from. The dark row holds the same instances, so each number is per row.

236 instances sit directly on the frames: 174 are Appetite UI components from 21 component sets, and 62 are Lucide icons with 12 different names. Another 262 sit inside those. Placed counts an instance that is not inside another instance. Nested counts one that is. A component is counted by its set name, so every Button variant is a Button, and an icon is any instance named in lowercase. Hidden layers count, and so do layers past the frame edge.

What it is built from, component, placed, nested, where
ComponentPlacedNestedWhere
Avatar3920Placed on My work 6, Board 9, Timeline 7, Task 3, Inbox 5, Filters 9. Nested in the Table cells, the Project avatar group, the Task composer, Search, New task and the Filters assignee chips
Badge294Placed on My work 5, Board 9, Task 3, Project 3, Filters 9. Nested in the Table status cells
Button2711Placed on Board 8, Table 4, Timeline 4, Inbox 1, Filters 10. Nested in the top bars, the floating button and the Table action cells
Chip240Board, Table and Timeline 1 each, Task 2, Search 3, New task 5, Filters 11
Status Bar100Every screen
Checkbox100My work 5, Task 5
Navigation60My work, Board, Table, Timeline, Project, Inbox
Emojis50The project mark on Board, Table, Timeline, Project and Filters
List50The five result rows on Search
Key Value Row40Project
Segmented Control30My work, Inbox, Filters
Top Bars20Task, Project
Toggle20Filters
Floating Action Button10My work
Table10Table
Composer10Task
Chart, Chart / Bar10Project
Chart, Chart / Donut10Project
Avatar group10Project
Search10Search
Keyboard10New task
Lucide icons62101Placed on Board 22, Filters 22, Table 6, Task 5, New task 5, Timeline 1, Project 1. Nested in toolbars, tab bars, chips and the Search field

Of the nested instances, 35 are Avatar, Badge and Button, 126 are helper parts of larger components, and icons make up the other 101.

Helper parts, part, nested, inside
PartNestedInside
Navigation labels24Navigation, four labels on each of six bars
Table header cells, cells and cell contents45Table: 5 header cells, 20 cells and 20 contents of five kinds, four rows each
Keyboard background, layouts, autocorrection, keys and space35iOS Keyboard, 31 of them keys
Segmented control selectors9Segmented Control, three on each
Chart columns and grid8Chart / Bar, 7 columns and 1 grid
Avatar status marks5Avatar, on the five Inbox rows

Not everything is an instance. 41 shapes are drawn by hand, all of them rectangles and ellipses and none a vector or a line. Seventeen are status and unread dots, twelve are the Timeline grid, Today column and legend swatches, and twelve are the fade and surface pair behind the tab bar on six screens. Each is bound to a variable or, for the fade, a gradient.

Counted on October 2, 2026 with a Plugin API script over the ten light frames of the Tasks page in the Appetite UI Figma file. An icon is an instance named in lowercase, a Lucide name from the shared icon page. No third party asset is placed on these screens.

Which tokens do the Tasks screens use?

No solid paint on these frames is a raw hex. Each fill and stroke resolves through a variable, which makes the dark row a mode switch.

The ten light frames hold 1,195 solid fills and strokes bound to 57 different variables, and none is unbound. Photographs and the tab bar fade are the only fills that are not a solid color. The frames themselves bind the fg/ text and icon variables, while the components placed on them bind the matching text/ variables for their labels.

Tokens, token, where it lands, paints
TokenWhere it landsPaints
fg/strong-950Screen titles, task names, primary icons162
fg/soft-500Dates, counts, captions, inactive tab labels and icons, the To do dot on Board and Filters210
fg/sub-700Description text and toolbar icons88
bg/white-0The screen and its cards116
bg/weak-50Panels such as the This week card, the metric tiles and the segmented control track22
border/soft-100Row hairlines and card outlines132
border/sub-200Outlines such as Chip and checkbox borders25
brand/baseNew button, active tab, progress fill, the highlighted day55
chart/series-1The peak column of Hours logged1
chart/softThe six other Hours logged columns6
state/feature/base-500, lighter-50, dark-950Mobile label: dot, fill and text of a Badge12, 11, 11
state/information/base-500, lighter-50, dark-950Web label and the In progress status11, 10, 10
state/away/base-500, lighter-50, dark-950Marketing label9, 8, 8
state/warning/base-500The High priority dot, the In review dot, split segment and swatch on Table and Timeline, one donut segment6
state/success/base-500Done dots, the Table split segment and Timeline swatch, one donut segment, the Inbox avatar mark10
state/faded/base-500To do dots, split segment and swatch on Table and Timeline, one donut segment, the icons of the Search results10
state/error/base-500The Due today dot and the Overdue label2
bg/scrimThe dim behind the Filters sheet1
Text and effect styles, style, uses, screens
StyleUsesScreens
xs/default1058
sm/default8910
xs/emphasized808
sm/emphasized689
base/emphasized384
base/default176
2xl/emphasized84
3xl/emphasized66
xl/emphasized44
lg/emphasized11
dropShadow/xs185
dropShadow/lg76
backdropBlur/sm11
Collections, collection, modes, what it drives here
CollectionModesWhat it drives here
Color TokensLight, DarkEvery paint above, pinned on each frame
Platformios-md, ios-lg, android, ios-duo-outer, ios-duo-innerStatus bar and platform metrics, pinned to ios-md
FoundationsDefaultSpacing, radius and control sizing
TypographyDefaultThe 10 text styles above
Platform BridgeBrand, SystemNot pinned on the frames, so the default mode applies
MotionDefaultNot used on these screens

Paints are every visible solid fill and stroke on the ten light frames, inside instances included, counted by bound variable name on October 3, 2026. Where a token appears as both a fill and a stroke the two counts are added. A text layer that mixes two styles counts once for each.