AI-powered collaborative brainstorming platform for teams
Transform your ideas into visual mindmaps with real-time collaboration and AI assistance. Built for teams who want to brainstorm smarter, not harder.
- πΊοΈ Interactive Mindmaps - Dynamic visualization with D3.js/react-flow
- π₯ Real-Time Collaboration - Multiple users editing simultaneously
- π€ AI-Assisted Ideation - OpenAI integration for smart suggestions
- π¨ Live Cursors - See where teammates are working in real-time
- π Conflict Resolution - Automatic handling of concurrent edits
- πΎ Auto-Save - Never lose your work with real-time sync
- π Authentication - Secure user management with Supabase Auth
Live Application: mindbloom-demo.vercel.app (Add your actual URL)
- Create a mindmap - Start with a central idea
- Invite collaborators - Share your workspace with teammates
- Brainstorm together - Add nodes, connect ideas in real-time
- Get AI suggestions - Let AI help expand your thinking
- Export & share - Save your mindmap as image or JSON
- Node.js 18+
- Supabase account (Sign up free)
- OpenAI API key (Get one here)
# Clone the repository
git clone https://github.com/ChrisRobinT/mindbloom.git
cd mindbloom
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
pip install -r requirements.txt
# Setup environment variables (see below)
cp .env.example .env
# Add your API keys to .env
# Run backend
uvicorn main:app --reload
# Run frontend (in another terminal)
cd frontend
npm run devVisit http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_API_URL=http://localhost:8000OPENAI_API_KEY=sk-your-openai-key
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_KEY=your_supabase_service_keyβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (Next.js) β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β React Flow β β D3.js β β Supabase β β
β β Mindmap β βVisualizationβ β Realtime β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
β REST API / WebSockets
β
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β Backend (FastAPI) β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β OpenAI β β Business β β Supabase β β
β β API β β Logic β β Client β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
β
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β Supabase (Backend as a Service) β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β PostgreSQL β β Realtime β β Auth β β
β β Database β β Sync β β β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Framework: Next.js 14 with TypeScript
- Mindmap Visualization: D3.js / react-flow
- Styling: Tailwind CSS
- Real-time: Supabase Realtime (WebSockets)
- State Management: React Context / Zustand
- Authentication: Supabase Auth
- Framework: FastAPI (Python)
- Database: PostgreSQL (via Supabase)
- AI: OpenAI GPT-4 API
- Real-time: Supabase Realtime subscriptions
- Authentication: Supabase Auth integration
mindbloom/
βββ frontend/ # Next.js frontend
β βββ app/
β β βββ page.tsx # Home page
β β βββ mindmap/ # Mindmap editor
β β βββ layout.tsx
β βββ components/
β β βββ MindmapCanvas.tsx
β β βββ Toolbar.tsx
β β βββ CollaboratorCursors.tsx
β βββ lib/
β β βββ supabase.ts # Supabase client
β β βββ api.ts # API client
β βββ package.json
β
βββ backend/ # FastAPI backend
β βββ main.py # FastAPI app
β βββ routers/
β β βββ mindmaps.py
β β βββ ai.py # OpenAI integration
β βββ models/
β β βββ mindmap.py
β βββ services/
β β βββ openai_service.py
β β βββ supabase_service.py
β βββ requirements.txt
β
βββ README.md
- WebSocket-based sync - Changes propagate instantly to all users
- Operational Transformation - Handles concurrent edits gracefully
- Live presence - See who's online and where they're working
- Cursor tracking - Visual indicators of collaborator positions
- Smart suggestions - AI proposes related ideas and connections
- Auto-expand - Generate child nodes from any idea
- Summarization - AI creates concise summaries of complex mindmaps
- Question generation - Get thought-provoking questions to deepen exploration
- Export to PDF/PNG
- Template library (project planning, SWOT analysis, etc.)
- Version history & time travel
- Comments & annotations
- Mobile app (React Native)
- Integrations (Notion, Slack, Teams)
- Advanced AI features (sentiment analysis, auto-organize)
- Voice-to-mindmap
Contributions are welcome! This project was built as part of a team development cycle.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project was developed in an 8-week sprint as a 2-person team:
- Week 1-2: Requirements gathering, architecture design
- Week 3-4: Core mindmap functionality, database schema
- Week 5-6: Real-time collaboration, OpenAI integration
- Week 7-8: Polish, testing, deployment
My role: Backend architecture, OpenAI API integration, real-time sync logic
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI - AI-powered suggestions
- Supabase - Backend infrastructure
- D3.js - Data visualization
- react-flow - Flow-based UI components
Johannes Tampere
Chris-Robin Talts
- GitHub: @ChrisRobinT
- LinkedIn: chrisrobintalts
- Email: chrisrobin.talts@gmail.com
Built to solve the problem of scattered ideas during team brainstorming sessions. Combines the fluidity of analog mind mapping with the power of AI and real-time collaboration.
Built with π§ to help teams think better together
