An open API service indexing awesome lists of open source software.

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

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: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue.svg)](https://www.typescriptlang.org/)
[![React](https://img.shields.io/badge/React-19-61dafb.svg)](https://react.dev/)
[![Live](https://img.shields.io/badge/live-dr.eamer.dev%2Fhivemind-cyan.svg)](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.

CleanShot 2026-03-06 at 11 30 57@2x

### 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.

CleanShot 2026-03-06 at 11 28 41@2x

### 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.

CleanShot 2026-03-06 at 11 30 15@2x

### 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)