Team Brainstorm Assist
Lets a squad submit, AI-generate, and upvote brainstorm ideas against an argument block, grouped into boards by category, each board ranked by popularity with a near-duplicate badge.
- Route:
/research/team?section=brainstorm, the Team Research page's tab (the old/research/cards/brainstormredirects there) - Nav: the Tools page's Community & Progress group
- Package:
debate-card-search
What it shows
An optional topic switcher, a submission form (argument block, contributor ID, category, idea text), and every board, sorted by argument block then category, each idea ranked by popularity score with a "possible duplicate" badge and a "Merge into…" select. A "Generate AI ideas" button drafts candidate ideas via a real Anthropic call.
Data flow
state/brainstormIdeas.ts (localStorage: brainstormIdeas)
→ buildBrainstormBoardsPanelView()
→ panels/BrainstormBoardPanel.tsx
→ apps/debate-ai.com/app/cards/brainstorm/page.tsx
"Generate AI ideas":
→ requestTeamBrainstormAiIdeas() — lib/team-brainstorm-client.ts
→ buildTeamBrainstormAiUserPrompt() — lib/team-brainstorm-ai.ts (pure)
→ POST /api/reason-ai
→ parseTeamBrainstormAiResponse()Session timer
An optional "Session timer" widget lets a moderator time-box a sprint: pick
a duration (3/5/10/15 minutes), Start, Pause/resume, or Reset. It's
localStorage-backed per browser (so a countdown started in one tab is
visible, live, in any other open tab of the same browser via a storage
listener) and, for a real signed-in visitor, also account-synced through
/api/settings's brainstormSessionTimer field via
hooks/useBrainstormSessionTimerSync.ts — so the same countdown follows
them to another device, not just another tab.
Known gaps
- No reviewer/moderator identity check gates the merge or "Send to Argument Library" actions.
- "Contributor ID" is still free-form text, not a login.
