A software platform implementing the governance and coordination concepts from Heather Marsh's Binding Chaos (2013).
The system enables stigmergic participation within voluntary, self-governing societies: participants raise signals, propose ideas, amend them collectively, and coordinate real-world actions — all under pseudonymous identity with no personality-driven amplification.
Under active development. Core bounded contexts (signals, ideation, discourse, societies, tagging, pseudonymity) are functional. The reputation/epistemic community layer described in the book is not yet built.
This is one developer's interpretation of Marsh's proposals, not an authoritative implementation. The domain modelling reflects a surface reading of the book and will contain misunderstandings — contributions and corrections from people with deeper familiarity with the ideas are welcome.
Browser → Web (3000) → Web.Gateway/BFF (4000) → CorePlatform.API (5000)
- Frontend: React + TypeScript + Vite + Tailwind + Radix UI
- Gateway: ASP.NET Core BFF — handles OIDC auth (Keycloak), issues internal JWTs
- API: ASP.NET Core — CQRS via Wolverine, Marten (event store) + EF Core (relational)
- Infrastructure: PostgreSQL, Redis, RabbitMQ, Keycloak, MinIO
# Install dependencies
npm install
# Start infrastructure (PostgreSQL, Redis, RabbitMQ, Keycloak, MinIO)
npm run infra:start
# Seed all infrastructure with development data
npm run reset:all
# In separate terminals:
npm run api:start # Core Platform API on :5000
npm run gateway:start # Web Gateway on :4000
npm run frontend:start # React dev server on :3000Then open http://localhost:3000.
npm run dotnet:build # Build entire solution
npm run dotnet:test # Run all tests
npm run dotnet:format # Auto-format C# code
npm run frontend:test # Run frontend tests
npm run frontend:lint # ESLint
npm run frontend:generate # Regenerate TypeScript API client from Gateway OpenAPI specsrc/
BindingChaos.Web/ # React frontend
BindingChaos.Web.Gateway/ # ASP.NET Core BFF
BindingChaos.CorePlatform.API/ # Main backend
BindingChaos.CorePlatform.Clients/ # Typed HTTP clients for inter-service calls
BindingChaos.CorePlatform.Contracts/ # Shared API contracts
BindingChaos.SignalAwareness/ # Signals, amplification, suggested actions
BindingChaos.Ideation/ # Ideas, amendments, amendment voting
BindingChaos.CommunityDiscourse/ # Threaded discussion
BindingChaos.Societies/ # Voluntary societies, social contracts, membership
BindingChaos.Tagging/ # Tag management
BindingChaos.Pseudonymity/ # Privacy-preserving participant pseudonyms
BindingChaos.IdentityProfile/ # Identity storage
BindingChaos.DocumentProcessing/ # Document ingestion and processing
BindingChaos.Infrastructure/ # Shared infrastructure concerns
BindingChaos.SharedKernel/ # DDD base types, CQRS primitives
docs/
01-vision/ # Vision, features, and philosophy
02-architecture/ # Architecture diagrams, bounded context maps, request lifecycle
07-development-process/ # Coding standards, workflow guides, how-to docs
binding-chaos-concepts.md # Concept reference grounded in the book
testing-guide.md # Testing conventions and structure
The platform is a direct implementation of Marsh's proposals: governance by user group rather than representative vote, stigmergic coordination where work is accepted or rejected on its merits, and pseudonymity as the default so participation is idea-driven rather than personality-driven.
AGPL-3.0