Sharing news on this project from my substack
This is a learning project to explore how agents can cooperate in design collaboration, drawing on the dust-tt/srchd project.
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).
Use the included Oldskaters brief:
npx tsx src/dsgnrd.ts experiment create oldskaters-reveal \
-p problems/oldskaters/trick-reveal
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.
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.
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 | |
| Agent history and usage |
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.