Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Daily Standup Task List Block for Radix UI

A daily standup for a small team: pick a person, add and remove their Yesterday, Today and Blockers items, count the team's blockers in words, and switch to a summary you can copy as text.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Run a daily standup without a meeting tool, with this standup to-do list block for React with Radix UI. A toolbar band names whose update you are editing, with a Native Select to switch person, and below it three bands, Yesterday, Today and Blockers, each with a labelled Input, an Add button and removable items. The footer counts the team's blockers in words ("2 blockers", "No blockers"), not in a warning color. A Switch in the header turns on summary mode, which replaces the bands with the whole team's update as plain grouped text for screen sharing, and Copy Button puts that same text on the clipboard. Removing a line leaves a one-line Undo. There is no primary button: copying is the only action that leaves the page. Guides rule the bands. For engineering teams, support rotations and any group that shares a short update every morning.

FAQ

How do I load my own team and updates?

Replace PEOPLE with your team and START with their lines. Each line has an id, a kind (yesterday, today or blockers), an owner that matches a person's id, and its text. The date in the toolbar is the constant AS_OF_LABEL, so change it with your data.

What does summary mode show, and what does Copy as text copy?

Summary mode lists every person with their three groups as read-only text, and "Nothing" for an empty group. Copy as text puts the same words on the clipboard, one block per person, only when you press the button; the page never reads the clipboard.

What stays local, and how do I save for real?

Everything. Adding, removing and undoing change state on the page and nothing is sent to a chat or a tracker, so the updates reset on reload. In your app write from send, remove and undo, and post the copied text wherever your team reads it.

How are blockers shown?

By words and weight, not color: a bold dot beside each blocker line and a count in the footer that reads "No blockers" when there are none. Nothing turns red, so it reads the same in any theme and in grayscale.

Is it accessible?

Each field has a label ("Add to Yesterday"), each remove button names its line, and an empty submit shows "Write a line first." under the field and keeps focus there. One polite status message announces additions, removals and mode changes. The summary is a heading and a list per person.

How does it look on a phone?

The person picker sits under the name, each band stacks full width with its field and Add button on one row, and the updates scroll inside a named region so the footer stays reachable.