A collaborative, real-time knowledge graph visualization tool built with React Flow, Next.js, and blockchain integration. Create, organize, and explore interconnected information with spaces, topics, and relations.
- Interactive Graph Visualization - Drag-and-drop interface powered by React Flow
- Spaces (Containers) - Organize related topics and relations within bounded areas
- Topics (Entities) - Individual knowledge nodes with custom properties
- Relations - Connect topics with labeled relationships
- Real-time Collaboration - See other users' changes and selections live
- Blockchain Integration - Web3 wallet connection (MetaMask, WalletConnect)
- Public/Private Spaces - Control visibility and access to your content
- Real-time Edit History - Track all changes with timestamps and user attribution
- Property System - Add custom key-value attributes to any entity
- Resizable Panels - Customizable Inspector and Debug drawer with persistence
- Auto-layout - Intelligent positioning for clean graph organization
- Responsive Design - Works seamlessly on desktop and mobile
- Debug Console - Monitor real-time events, logs, and system state
- Dev/Normie Mode - Switch between technical and user-friendly terminology
- Error Handling - Comprehensive error logging and user feedback
- SQLite Database - Local persistence with edit history tracking
- Frontend: Next.js 15, React 19, TypeScript
- Visualization: React Flow
- Styling: Tailwind CSS, DaisyUI
- Database: SQLite with Better-SQLite3
- Real-time: PartyKit WebSockets
- Blockchain: Wagmi, Viem
- State Management: TanStack Query
- UI Components: Lucide React, React Hot Toast
-
Clone the repository
git clone https://github.com/[your-username]/knowledge-graph-visualizer.git cd knowledge-graph-visualizer -
Install dependencies
npm install # or yarn install -
Start the development server
npm run dev
-
Start the PartyKit server (for real-time collaboration)
npm run partykit:dev
-
Open your browser Navigate to http://localhost:3001
- Connect your wallet - Click the wallet button to connect MetaMask or WalletConnect
- Create a Space - Use the "+" button to create your first organizational container
- Add Topics - Click "Add Node" to create individual knowledge entities
- Create Relations - Drag between topics to establish relationships
- Customize Properties - Select any item to edit details, properties, and visibility
- Drag nodes to reposition
- Drag topics into spaces to organize them
- Click any item to open the Inspector panel
- Double-click relations to edit their type/label
- Use the debug drawer (bottom) to monitor system activity
- Real-time updates - See changes from other users instantly
- User avatars - View who's currently online and what they're selecting
- Edit history - Track all changes with full audit trail
- Private spaces - Create private areas only you can access
Create a .env.local file in the root directory:
# PartyKit Configuration
NEXT_PUBLIC_PARTY_HOST=your-partykit-host.partykit.dev
# Database (auto-configured, no setup needed)
DATABASE_URL=./data/graph.sqliteThe app supports:
- MetaMask - Browser extension wallet
- WalletConnect - Mobile and hardware wallet support
- Other Injected Wallets - Most Ethereum-compatible wallets
- Entities - Topics and Spaces with properties, positions, and ownership
- Relations - Connections between entities with custom types
- Edit History - Audit trail of all changes with timestamps
- User Sessions - Real-time collaboration state
- GraphPage - Main visualization canvas
- Inspector - Property editor and history viewer
- SpaceNode - Container component for organizing content
- TopicNode - Individual knowledge entity display
- RelationNode - Connection visualization
- DebugDrawer - Development and monitoring interface
- Connect your repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy - Vercel will automatically build and deploy
- Deploy to PartyKit
npx partykit deploy
- Update environment variables with your PartyKit URL
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with React Flow for graph visualization
- Real-time collaboration powered by PartyKit
- Web3 integration via Wagmi
- UI components from DaisyUI
For questions, bug reports, or feature requests:
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ❤️ for the knowledge management community