A real-time semantic mind-mapping engine that helps you explore and connect ideas through AI-powered knowledge graphs.
Gnosis transforms how you explore topics by creating dynamic, interconnected mind maps. Enter any concept and watch as the AI expands your knowledge graph with semantically related ideas, helping you discover connections you might never have found on your own.
- AI-Powered Expansion - Enter a topic and let the AI generate related concepts and connections
- Semantic Search - Find similar concepts using vector embeddings for intelligent matching
- Real-Time Visualization - Interactive force-directed graph that updates as you explore
- Knowledge Persistence - Your mind map saves automatically to local storage
- Neural Logging - See the AI's reasoning process as it expands your knowledge graph
Mind map with expanded knowledge graph
Initial empty state before exploration
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TanStack Query v5 |
| Visualization | D3.js (d3-force, d3-zoom) |
| Styling | Tailwind CSS v4, shadcn/ui, Motion v12 |
| Backend | FastAPI (Python 3.12+) |
| LLM | LangChain + Cerebras |
| Embeddings | Voyage AI (voyage-3) |
| Vector DB | Qdrant (cloud-hosted) |
| Monorepo | Turborepo, pnpm |
gnosis/
├── apps/
│ ├── api/ # FastAPI backend
│ └── web/ # Next.js frontend
├── packages/
│ ├── ui/ # Shared UI components
│ ├── eslint-config/ # ESLint configurations
│ └── typescript-config/# TypeScript configurations
└── docs/ # Documentation
- Node.js 22+
- pnpm 9+
- Python 3.12+
- uv (Python package manager)
-
Clone the repository
git clone https://github.com/your-username/gnosis.git cd gnosis -
Install dependencies
pnpm install
-
Configure environment variables
Copy the example environment file and add your API keys:
cp apps/api/.env.example apps/api/.env
Required variables:
VOYAGE_API_KEY- Voyage AI API key for embeddingsCEREBRAS_API_KEY- Cerebras API key for LLM inferenceQDRANT_URL- Qdrant Cloud cluster URLQDRANT_API_KEY- Qdrant API key
-
Start development servers
pnpm dev
This starts:
- Frontend at http://localhost:3000
- Backend at http://localhost:8000
# Run full stack
pnpm dev
# Run individual apps
pnpm dev:web # Frontend only
pnpm dev:api # Backend only
# Build all apps
pnpm build
# Type checking
pnpm check-types
# Linting
pnpm lint
# Format code
pnpm format
# Generate API client from OpenAPI
pnpm generate:api| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| POST | /api/v1/graph/expand |
Expand a topic into nodes and edges |
| POST | /api/v1/graph/seed |
Seed initial knowledge |
| POST | /api/v1/graph/check-similarity |
Check topic similarity |
API types and React Query hooks are auto-generated from the OpenAPI schema:
# Export OpenAPI schema from backend
cd apps/api && uv run export-openapi
# Generate TypeScript types + hooks
pnpm generate:api- Input - User enters a topic in the omni-bar
- Embed - Backend generates vector embeddings using Voyage AI
- Search - Finds semantically similar concepts in Qdrant
- Generate - LLM creates related nodes and connections
- Store - New concepts are persisted in the vector database
- Visualize - Frontend renders the updated graph in real-time
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.