Family Task Board

Family Task Board gives a household one shared place for chores, activities, star rewards, and responsibility transfers. It is intentionally familiar, which makes it a useful first example for understanding how a miniapp becomes part of The AI Platform.

Family Task Board manage view with forms for adding a child and assigning a chore.
The manage view writes the same retained workspace state that the Today, Family, Star Shop, and Transfers views read.

Why It Was Made

Many SDK examples stop at rendering a panel. Family Task Board was made to show the smallest complete product shape instead: a scoped surface, durable state, distinct read and write authority, responsive UI, and lifecycle behavior that keeps the experience coherent when the host remounts it.

Surface Map

SurfaceWhat this example declaresWhy it matters
UIworkspace-left, workspace scope, one instance per workspaceThe board follows the workspace instead of acting like a global utility.
PersistenceretainedThe mounted surface can keep continuity while TAP owns the lifecycle.
Storagefamily-task-boardHousehold state stays in package storage rather than browser globals.
Authorityfamily-task-board.view and family-task-board.manageA viewer can see the board without receiving the authority to change it.
RuntimeDesktop webviewThis example stays focused on the core surface contract before adding headless targets.

The code uses sdk.authorization to adapt controls to current authority and sdk.storage for canonical package state.

Walk Through the Product

  1. The host mounts one surface for the active workspace.
  2. The board reads the retained household model from the family-task-board namespace.
  3. View authority controls whether the surface is available. Manage authority controls mutations such as adding children, chores, activities, and rewards.
  4. Every mutation returns to the same storage model, so all tabs reflect one workspace-owned state.
  5. Lifecycle cleanup removes listeners without treating unmount as data deletion.

Responsibility transfers are part of the domain instead of being a generic assignment demo:

Family Task Board transfers view for moving responsibility between household members.
The transfer flow demonstrates a write action that remains separate from ordinary board viewing.

What to Read in the Code

Run It Locally

git clone https://github.com/ZephyrCloudIO/tap-miniapp-examples.git
cd tap-miniapp-examples
pnpm install
pnpm --filter @tap-examples/family-task-board dev

Link apps/family-task-board/.tap-build/desktop from Settings > Miniapps > Local Directory. The linked directory is watched automatically. A successful build prepares a fresh surface generation while the current one remains available.

Browse the source or return to the example gallery.