Brainstormer — Your Human Tree of Thought
Inspiration
We've all had that late-night conversation—with a friend, or these days, even an AI—where one thought leads to another, and suddenly, something clicks.
But the next morning, you remember the spark, not the reasoning that led you there.
In the AI era, we can generate ideas and build upon them faster than ever. Yet with endless possibilities at our fingertips, it's also easier than ever to abandon an idea before it has a chance to grow.
That's why we built Brainstormer.
We hear a lot about AI's chain of thought. But human thinking isn't a chain. It branches, doubles back, contradicts itself, and changes direction. Sometimes we don't even know what we're trying to say until we've said it.
We wanted to create a space where people could think freely, without having to organize their thoughts beforehand, and where promising ideas wouldn't disappear when a conversation ended.
Our answer is a human tree of thought: a living, editable representation of your thinking that preserves not just your ideas, but the relationships, uncertainties, and reasoning behind them.
What it does
Brainstormer turns your stream of thought into a living, interactive tree—almost as quickly as you can express it.
As you speak or type, Brainstormer identifies ideas and organizes them into branches. Your central question becomes the trunk; possibilities, objections, examples, and new directions become branches.
Unlike a static mind map, this tree evolves with your thinking.
- Visualize as you think. Brainstormer incrementally structures incoming speech, allowing ideas to appear and develop before you've finished explaining them.
- Take control of your tree. Move, reconnect, rewrite, or delete nodes. Change relationships between ideas as your understanding evolves.
- Think collaboratively with AI. When you're ready, ask AI to suggest connections, develop new branches, challenge assumptions, or summarize your reasoning.
- Investigate your assumptions. A parallel research process checks factual claims against public sources and uploaded references, attaching supporting or challenging evidence to relevant nodes.
- Preserve and revisit. Save, reload, and export your tree, including unfinished ideas, so you can return to them without reconstructing the entire conversation.
Rather than forcing people into a linear exchange of prompts and answers, Brainstormer gives both the human and AI a shared working context that can be inspected, questioned, and revised.
Brainstormer isn't here to think for you. It's here to keep promising ideas alive long enough to grow.
How we built it
We built Brainstormer as a TypeScript application using Next.js and React, with React Flow for the interactive tree, Dagre for automatic layout, Zustand for state management, and Zod for structured data validation.
At its core, Brainstormer coordinates two independent AI-driven processes.
1. Incremental thought structuring
Incoming speech is transcribed into evolving text segments. Rather than waiting for someone to finish speaking, the application processes meaningful portions of the transcript and proposes updates to the existing tree.
A context-aware reasoning pipeline interprets new ideas alongside existing branches and relationships. It generates structured operations to create, edit, or reconnect nodes.
Importantly, later speech can refine an earlier interpretation instead of producing duplicate or contradictory branches.
These proposed changes pass through a validation layer that protects user edits, maintains tree consistency, and rejects outdated updates. Application code handles the visual layout independently of AI-generated meaning.
2. Parallel research and evidence assessment
Factual claims enter a separate research pipeline that can operate while the user continues brainstorming.
We integrated Tavily for public web search and extraction, alongside retrieval from uploaded text and Markdown references. AI compares claims with retrieved evidence and attaches source information to the relevant ideas.
Evidence retains its provenance, and changes to a claim can invalidate earlier assessments, preventing outdated citations from appearing authoritative.
Supporting infrastructure
We implemented adapters for OpenAI and Anthropic models, streaming transcription, speech generation, and conversational responses. Separate queues allow capture, research, and dialogue to proceed without blocking one another.
We also developed an offline demonstration mode and used Vitest and Playwright to test structured operations, simulated speech streams, provider contracts, and application behavior.
Challenges we ran into
Understanding thoughts that haven't finished forming
Human speech is messy. We pause, backtrack, correct ourselves, and sometimes completely change the meaning of a sentence halfway through.
Our challenge was making the tree responsive without treating every incoming transcript fragment as a finalized idea.
We addressed this with incremental processing, transcript revision tracking, and reconciliation that allows existing nodes to evolve as more context arrives. After consideration of trade-off between robustness, reliability, and speed to visualized, we eventually choose a full pipeline latency from end-of-speech to tree generation of ~3 second and tree generation to response latency of ~3 seconds during testing.
Keeping humans in control of an AI-editable workspace
What happens when someone moves a branch while the AI is still deciding where it belongs?
We needed to prevent delayed AI responses from overwriting more recent human decisions. Our solution separates semantic relationships from visual positioning and validates proposed updates against the current tree state.
Research without interrupting creativity
Fact-checking can take considerably longer than capturing an idea. Waiting for every source lookup would break the natural flow of brainstorming.
We separated research from thought capture, allowing evidence to arrive asynchronously without stopping the tree from evolving.
Representing uncertainty faithfully
A clean diagram can make an uncertain idea look like an established fact.
We worked to preserve original wording, qualifications, unresolved questions, and evidence provenance so that organizing someone's thinking doesn't inadvertently change what they meant.
Accomplishments that we're proud of
We're especially proud of turning an abstract idea—a tree of human thought—into an interactive system with concrete, testable behavior.
- Built a shared workspace where users and AI can modify the same tree through validated operations.
- Demonstrated incremental tree updates and corrections during simulated continuous speech, including revisions before a transcript is finalized.
- Verified that fact-checking can overlap with ongoing idea capture rather than blocking it.
- Implemented direct node editing, undo/redo, local persistence, snapshot export, and inspectable source evidence.
- Tested difficult scenarios involving delayed AI responses, conflicting edits, and evidence becoming outdated after revisions.
What matters most to us is that the tree isn't simply an AI-generated diagram. It's a representation the thinker can actively shape, correct, and return to.
Our controlled tests and offline demonstration establish the core interaction patterns, while full end-to-end live validation remains an important next step.
What we learned
Structuring thought is not the same as summarizing text.
Where an idea belongs, how it relates to another idea, and whether it expresses certainty or doubt are all part of its meaning. A useful thinking tool must make those interpretations visible and correctable.
We also learned that responsiveness is an architectural problem, not just a question of choosing a faster model. Separating capture, reasoning, and research lets each process operate at an appropriate pace without interrupting the human.
Perhaps our biggest realization was that generating more ideas isn't necessarily the same as developing better ideas.
AI makes it remarkably easy to begin exploring something new. The harder problem is preserving enough context to continue that exploration meaningfully.
That's the problem we're most interested in solving.
What's next for Brainstormer
Our immediate priority is bringing the entire experience together in live brainstorming sessions: continuous speech, evolving visualization, interactive editing, evidence retrieval, and spoken AI feedback.
Beyond that, we want to explore:
- Continuity of thought: Compare Brainstormer against conventional chat transcripts and summaries to measure how effectively users recover and continue unfinished reasoning.
- Better collaborative intelligence: Give users finer control over when AI listens, challenges assumptions, proposes branches, or remains silent.
- Stronger evidence grounding: Improve retrieval across uploaded documents, paraphrased claims, and conflicting sources.
- Long-term idea development: Explore connections across saved sessions, allowing related ideas to grow together over time.
- More intuitive interaction: Improve tree navigation, visual clarity, and accessibility as ideas become increasingly complex.
Ultimately, we envision Brainstormer as more than a brainstorming application. We want it to become a persistent workspace for human thought—somewhere ideas can be explored, challenged, preserved, and developed over time.
Our guiding principle is simple: preserve the spark of ingenuity, and give it enough structure to keep growing.
Built With
- anthropic-api
- dagre
- javascript
- kokoro
- mammoth
- next.js
- node.js
- onnx-runtime
- openai-api
- openai-realtime-api
- pdf.js
- postgresql
- python
- react
- react-flow
- supabase
- tavily
- typescript
- vercel
- vercel-ai-sdk
- vitest
- websockets
- zod
- zustand
Log in or sign up for Devpost to join the conversation.