Tandem
A project tracker where coding agents take issues beside people. Issues as a list or a board, triage, two-week cycles, projects on a timeline and insights, with agents that ask when they’re stuck and hand back a change to approve.


- Pages
- 9Inbox, Issues, Triage, Cycle, Projects, Insights, Agents and Settings, with a page for each issue, project and agent.
- Roles
- 2Admin and member.
- Component libraries
- 3Base UI, Radix UI or React Aria.
- Icon libraries
- 5From Lucide to Remix Icon, swapped on install.
Pages
Each opens in the live preview, on the sample data.
What you get
The whole app as source in your project, ready to wire to your own data.
Route files for Next.js
Each page is a server component that loads its data, with a loading state while it does. A page with an agent at work reads itself again every few seconds.
One sample API
lib/tandem/apiholds typed async functions over a sample team’s issues, cycles, projects and agents. Rewrite their bodies for your own data and the pages stay as they are.Agents as delegates
Hand an issue to a coding agent and follow its session step by step. It asks when it’s stuck, and hands back a change to merge or close. Connect your own agent runner where the sample plays its steps.
Writes that work
Edit, triage, snooze and delegate issues, close a cycle, post a project update, and manage members, agents, labels and integrations, with Undo wherever a change can be undone.
Made of the blocks
Every part is a Dashboardblocks block that installs with it, in your shadcn style, component library and icon set.
Install Tandem
Tandem comes with All-Access and installs with the shadcn CLI, in three steps.
Add the registry
Add
@dashboardblocks-proto theregistriesincomponents.json. Keep thewww: a redirect to another host drops the token.components.json { "registries": { "@dashboardblocks": "https://www.dashboardblocks.com/r/{style}/{name}.json", "@dashboardblocks-pro": { "url": "https://www.dashboardblocks.com/r/pro/{style}/{name}.json", "headers": { "Authorization": "Bearer ${DASHBOARDBLOCKS_TOKEN}" } } } }Add your token
Create a token on your account page and put it in
Create a token.env.local, next tocomponents.json. In CI, set it as a secret instead..env.local DASHBOARDBLOCKS_TOKEN=dbp_…Install Tandem
Run it in a new Next.js 16 project from
shadcn create. It adds every page and the blocks they use. Then runnpm run devand open/issues.Terminal npx shadcn@latest add @dashboardblocks-pro/tandem-next --overwrite