https://github.com/lukeslp/hivemind
Spatial brainstorming on a hexagonal grid — Gemini expands each node into 6 contextual neighbors
https://github.com/lukeslp/hivemind
brainstorming gemini hexagonal-grid react typescript
Last synced: about 2 months ago
JSON representation
Spatial brainstorming on a hexagonal grid — Gemini expands each node into 6 contextual neighbors
- Host: GitHub
- URL: https://github.com/lukeslp/hivemind
- Owner: lukeslp
- Created: 2025-12-25T09:06:13.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-03-24T22:12:29.000Z (2 months ago)
- Last Synced: 2026-03-26T03:54:20.899Z (2 months ago)
- Topics: brainstorming, gemini, hexagonal-grid, react, typescript
- Language: TypeScript
- Size: 806 KB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# HiveMind
> Spatial brainstorming tool that expands ideas on a hexagonal grid — click any node and an LLM generates 6 contextual neighbors.
Visual brainstorming on a hexagonal grid. Start with one idea, click to expand it into 6 contextual neighbors using a language model, and keep going until you've mapped out the entire problem space. Then export your map as a structured document — a project proposal, SWOT analysis, user stories, whatever you need.
The core brainstorming loop works well and sees regular use. Contributions welcome.
## **[Try it live](https://dr.eamer.dev/hivemind/)**
[](LICENSE)
[](https://www.typescriptlang.org/)
[](https://react.dev/)
[](https://dr.eamer.dev/hivemind/)
## How it works
You start with a single hex node — your core idea. Click it, and an LLM generates 6 related concepts, positioned as neighbors on the hex grid. Each neighbor gets a type (concept, action, technical, question, or risk) and a short description. Click any of those to expand further. After a few rounds, you've got a visual map of an idea space that would've taken much longer to brainstorm on paper.
The hex grid isn't just decoration — it naturally limits expansion to 6 directions per node, which keeps things focused. Linear brainstorming tools give you unlimited branches and you end up with a mess. Six neighbors forces the model to pick the most relevant angles.

### Node types
Each node is categorized by type, with distinct colors and icons:
| Type | What it represents |
|------|--------------------|
| **Root** | Your starting idea |
| **Concept** | An idea, theme, or abstract notion |
| **Action** | Something concrete to do |
| **Technical** | Implementation details, specs, tools |
| **Question** | Something that needs answering |
| **Risk** | A potential problem or obstacle |
The LLM assigns types automatically based on context, but you can change them manually.

### Deep dive
Right-click (or long-press on mobile) any node for a deep-dive analysis. The LLM generates a detailed breakdown of that specific idea — useful when you want to explore one branch without expanding the whole grid.

### Building from your map
Once your brainstorm has some substance, the **Build** feature turns your hex map into a structured document. Pick a template:
- **Project Proposal** — executive summary, objectives, methodology, timeline
- **SWOT Analysis** — strengths, weaknesses, opportunities, threats from your nodes
- **User Stories** — agile-format stories with acceptance criteria
- **Code Architecture** — system design and file structure
- **Risk Assessment** — mitigation strategies pulled from your risk nodes
- **Email Update** — stakeholder summary of your brainstorm
The builder sends your entire node map to the LLM with the template instructions and returns a markdown document you can copy out.
### Session management
Your brainstorms persist to localStorage automatically. You can also:
- Save named sessions and switch between them
- Export sessions as JSON files for backup or sharing
- Import sessions from JSON
- Undo/redo up to 50 steps
## Starter templates
Don't want to start from scratch? There are 12 built-in templates that pre-populate the first ring of nodes:
Product Launch, Novel Writing, Problem Solving, Business Strategy, Research Project, Content Strategy, App Design, Event Planning, Software Architecture, Personal Goal Planning, Learning Path, Creative Project
## Quick start
```bash
git clone https://github.com/lukeslp/hivemind.git
cd hivemind
pnpm install
cp .env.example .env
pnpm dev # http://localhost:3000
```
## Environment variables
```env
GEMINI_API_KEY=your_key_here
```
Get a free key at [aistudio.google.com](https://aistudio.google.com). The server proxies all model requests so the key never hits the client.
## Stack
**Frontend**: React 19, TypeScript, Vite, Tailwind CSS 4, Radix UI, Wouter
**Backend**: Express — proxies LLM requests server-side so the API key stays on the server
**Grid math**: Axial coordinate system (q, r) with pointy-top hexagons
## Development
```bash
pnpm dev # Vite dev server with HMR
pnpm build # Frontend + server → dist/
pnpm start # Production server
pnpm check # TypeScript type checking
```
Full keyboard navigation is built in — arrow keys to move between nodes, Enter to expand. Hit `?` in the app to see the shortcut reference.
If you run into bugs or have ideas, [open an issue](https://github.com/lukeslp/hivemind/issues).
## License
MIT
## Author
**Luke Steuber** · [lukesteuber.com](https://lukesteuber.com) · [@lukesteuber.com](https://bsky.app/profile/lukesteuber.com) · [github.com/lukeslp](https://github.com/lukeslp)