Update: CatAgree, from mockups to working software
CatAgree is a tool I’m building for running card sorting workshops with a team, at their own pace. Instead of handing people a fixed list of cards to sort, the participants write the cards and name the categories themselves. An admin guides the group through four phases, and the workshop ends with a map the whole team agrees on. This can be applied to content or any type of sorting with a group.
When I shared a first look at CatAgree in April, everything you saw was a design. Since then I've been building it, and the admin side now works end to end. You can set up a workshop, launch it, and send every participant a personal link. Here's what's new, with a few screens I haven't shown before.
Setting up a workshop
A workshop starts as a draft. You give it a name and a short description, then add participants with an email, name, and role. Nothing goes out until you launch, so you can save the draft and come back as the list fills in.
You also choose whether contributions are anonymous or attributed to the person who made them. Anonymous is the default.
Launching

Launching is the one step you can't undo, so it gets a confirmation. The dialog sums up what's about to happen: how many invites go out, who they come from, and when the links expire, 30 days after launch.
After launch you can still add participants, but the anonymity setting and the invite email are locked, so nobody's experience of the workshop changes partway through.
Invite emails go out the moment you launch. If one fails to send, the cockpit flags it and you can retry that single invite without resending to everyone else.
The participant's side

Participants don't create accounts. Each invite carries a personal link, and opening it lands you on a welcome page for your workshop. It shows which of the four phases is active and what you're being asked to do.
This screen also shows where the build stands. Phase 1, where participants add their own cards, is what I'm building next. For now the page explains that the editor is on its way, and the link will keep working when it arrives.
Every state of a link

A lot of the participant work went into the less glamorous cases. A link can point to a workshop that hasn't launched yet, one that's running, or one that has ended. It can also have expired, or not exist at all. Each case gets its own page in plain language, so someone clicking an old email never lands on an error screen. If an admin deletes a workshop, participants see the same "workshop has ended" page.
Under the hood
The app runs on Next.js with Convex as the backend, which handles the data, sign-in, and sending invites through Resend. The participant link logic has automated tests covering each of those link states, since that's the part real people will hit first.
What's next
Next up is the part the whole tool is built around: Phase 1, where participants add their own cards. After that come the remaining phases and the export of the final content map.
If you've run content workshops and would like to try CatAgree with your team once Phase 1 is live, I'd love to hear from you.
More soon!
