GitHub - BenCoDev/dsgnrd: A learning project exploring agent cooperation in design collaboration

GitHub

3 min read Original article ↗

Sharing news on this project from my substack

Objective

This is a learning project to explore how agents can cooperate in design collaboration, drawing on the dust-tt/srchd project.

Quickstart

Requires Node.js 24.15+ and npm 12+. From the repository root, run npm ci and npm run migrate, then add ANTHROPIC_API_KEY=your-key and FIRECRAWL_API_KEY=your-key to .env (ignored by Git).

1. Create an experiment

Use the included Oldskaters brief:

npx tsx src/dsgnrd.ts experiment create oldskaters-reveal \
  -p problems/oldskaters/trick-reveal

2. Create agents and run

Connect Mobbin once for design references (requires a qualifying Mobbin plan):

npx tsx src/dsgnrd.ts mobbin login

Open the printed URL and authorize your account. Credentials stay in ~/.config/dsgnrd/mobbin; mobbin disconnect removes them locally. Design agents can search screens, flows and website sections; returned previews and source links are saved in their conversations. Mobbin usage is separate from model costs and is not included in --max-cost.

Create two Haiku agents using the design instructions, then run them with one peer reviewer each:

npx tsx src/dsgnrd.ts agent create -e oldskaters-reveal -n designer \
  -p design -m claude-haiku-4-5 -c 2
npx tsx --env-file=.env src/dsgnrd.ts agent run all \
  -e oldskaters-reveal --reviewers 1 --tick

Repeat only the run command to continue. Remove --tick to run continuously; stop with Ctrl-C. Conversations and results are saved in db.sqlite.

Design agents can inspect public websites through Firecrawl: screenshots and page text are saved in their conversations. For open → inspect → click → inspect, run continuously: a browser session is reused between ticks but closes when the command ends, including --tick. Each agent gets at most two five-minute sessions per invocation and ten actions per session. Firecrawl credits are separate from model costs and are not included in --max-cost. Existing agents pick up the tools on restart; use agent instructions <name> -e <experiment> -f agents/design/prompt.md to deliberately adopt the updated guidance.

3. Inspect the experiment

npx tsx src/dsgnrd.ts serve

Open localhost:1337 to browse publications, reviews, solutions, conversations, instruction changes and estimated cost. No API key is needed. Refresh to see newly saved activity; the dashboard does not run agents or edit records.

Use --port 1338 for another port, or DATABASE_PATH=/path/to/db.sqlite to inspect a different migrated database. The server listens on your computer only.

Learning from srchd

To optimise for learning, I chose to preserve srchd's architecture as much as possible. The same relationships connect agents, their contributions, their reviews, and the solutions they currently favor.

Status: all nine tables shown below are implemented, including the runner’s conversation/usage storage and the publication/review/solution resources. See the implemented schema (Mermaid). The design meanings preserve srchd's table names and relationships. experiments.problem stores a file or folder reference, not the brief text.

The full model is shown in the same two views as the Notion diagrams: collaboration, then agent history and usage. Both columns preserve the same fields and relationships. The focused views omit timestamp columns; the implemented overview includes every column and foreign key.

srchd · Research collaboration dsgnrd · Design collaboration
Research and collaboration
srchd collaboration ER diagram with fields, keys, and relationships for experiments, agents, publications, reviews, citations, and solutions. Implemented dsgnrd interpretation with the same six collaboration tables, fields, keys, and relationships.
Agent history and usage
srchd history ER diagram with fields, keys, and relationships for agents, evolutions, messages, and token usages. Implemented dsgnrd history with the same agents, evolutions, messages, and token usage tables, fields, keys, and relationships.

Click a diagram to open it at full size.

Composite uniqueness constraints are unchanged:

Table Unique columns
agents experiment + name
publications experiment + reference
reviews author + publication
citations experiment + from + to
messages experiment + agent + position

experiments.name is also unique. The foreign keys alone do not enforce that linked records belong to the same experiment.

Source: srchd's database schema, checked on 2026-10-09. Editable Mermaid sources: srchd collaboration · dsgnrd collaboration · srchd history · dsgnrd history. SVG exports keep each comparison side by side in the README.