Skip to content
codedByBurhanPublic

About

A mathematically backed, zero-login real-time collaboration engine for eliminating group deadlock. Built with Next.js 16 and Supabase.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Next.js TypeScript Supabase Tailwind CSS MIT License PRs Welcome

GroupMind | The Compromise Engine

GroupMind UI Preview

GroupMind is a mathematically backed, real-time collaboration engine designed to eliminate group friction and social deadlock. By utilizing proven algorithmic consensus models and a zero-login, tokenized architecture, it instantly resolves complex group decisions—ranging from splitting expenses to finding optimal meeting times.


⚡️ Core Features

  • Task Divider: Equitably distribute tasks based on preferences and balanced workload algorithms.
  • Expense Splitter: Intelligently simplify complex group debts into the minimum number of direct transfers.
  • Option Picker: Rank options securely to find the most widely acceptable group consensus.
  • Meeting Finder: Automatically identify the optimal meeting time based on everyone's availability matrix.

🔒 The Tokenized Architecture

GroupMind operates on a highly optimized, stateless backend approach designed for absolute frictionless entry.

  • Zero-Login Experience: Participants join via temporary URL tokens. No accounts, passwords, or emails are required.
  • JSONB Dictionaries: We leverage PostgreSQL's JSONB capabilities to store session configuration, invite tokens, and dynamic voting state in a highly flexible, denormalized structure.
  • Real-Time Synergy: Supabase Realtime WebSockets provide instant, sub-second state synchronization across all connected clients, ensuring the Host and Participants see live updates as votes are locked in.

Important

Note on Database Security & RLS: To achieve a zero-friction onboarding flow without traditional user accounts, our PostgreSQL Row Level Security (RLS) policies are intentionally permissive (USING (true)). Security, data isolation, and access control are strictly enforced via the mathematical entropy of UUIDv4 session tokens (URL-based access) rather than identity-based row restrictions. The URL is the cryptographic key.


🧮 The Mathematical Engine

Our system relies on rigorous mathematical algorithms (consolidated securely within src/lib/engine.ts) to calculate the objectively optimal outcome, guaranteeing fair and equitable consensus:

  • Option Picker (Borda Count Method): Rather than simple plurality voting (which is susceptible to strategic voting and split votes), we use the Borda Count system. Participants rank options, and weighted points are assigned based on preferences, ensuring the winning option is the most broadly acceptable to the group.
  • Expense Splitter (Graph Debt Simplification): Resolves complex web-like debts into the minimum number of direct transactions. By modeling debts as a directed graph and calculating net balances, we minimize the total edges required to settle the group ledger.
  • Task Divider & Meeting Finder: Utilizes matrix overlap calculations and workload balancing algorithms to find the mathematical center of group availability and equitable task distribution.

🗺️ Repository Map

The codebase follows strict Next.js 16 App Router best practices, enforcing component isolation and clear structural routing.

src/
├── app/
│   ├── favicon.ico
│   ├── globals.css
│   ├── layout.tsx
│   ├── page.tsx
│   └── session/
│       └── [id]/
│           ├── ClientPage.tsx
│           └── page.tsx
├── components/
│   ├── CustomCursor.tsx
│   ├── GroupMindLogo.tsx
│   ├── Header.tsx
│   ├── NameCaptureModal.tsx
│   ├── RecentSessionsDrawer.tsx
│   ├── ResultsSkeleton.tsx
│   └── modules/
│       ├── ExpenseSplitter/
│       │   ├── ExpenseSplitterResults.tsx
│       │   └── ExpenseSplitterVoting.tsx
│       ├── MeetingFinder/
│       │   ├── MeetingFinderResults.tsx
│       │   └── MeetingFinderVoting.tsx
│       ├── OptionPicker/
│       │   ├── OptionPickerResults.tsx
│       │   ├── OptionPickerVoting.tsx
│       │   └── SortableItem.tsx
│       └── TaskDivider/
│           ├── TaskDividerResults.tsx
│           └── TaskDividerVoting.tsx
└── lib/
    ├── engine.ts
    ├── recentSessions.ts
    ├── supabase.ts
    ├── utils.ts
    └── validations.ts

🚀 Local Development Setup

Follow these steps to get GroupMind running locally on your machine.

1. Clone the Repository

git clone https://github.com/your-org/groupmind.git
cd groupmind

2. Install Dependencies

npm install

3. Configure Environment Variables

Create a .env.local file in the root directory and add your Supabase credentials:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

4. Run the Development Server

npm run dev

The application will be accessible at http://localhost:3000.


🔮 Roadmap

  • Meeting Finder (Dynamic Calendar Matrices): Transitioning from a static professional grid (Mon-Fri) to a dynamic, context-aware matrix (e.g., Weekend Social modes, 24/7 availability toggles) with a mobile-optimized virtualized grid.
  • Expense Splitter (Fintech API Integration): Moving beyond graph debt calculation by integrating open banking APIs to facilitate direct, one-click fiat settlements directly from the minimized transaction graph.
  • Task Divider (Agentic AI Balancing): Implementing autonomous agents that analyze historical task complexity and team throughput to dynamically suggest optimal, equitable distributions before human voting even begins.
  • Option Picker (Quantum-Inspired Optimization): Scaling the Borda Count engine with advanced, quantum-inspired optimization heuristics to process massive-scale consensus for enterprise-level decision matrices.

🤝 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

Authored by Burhanuddin Yusuf Jawadwala.

About

A mathematically backed, zero-login real-time collaboration engine for eliminating group deadlock. Built with Next.js 16 and Supabase.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages