Articles
Articles & Essays
Deep dives into collaboration patterns, architectural decisions, and practical guidance for building state-based collaborative systems.
Undo Operations in Collaborative Systems
Undo is deceptively simple in single-user applications but becomes complex in collaborative systems. This article explores the challenges and presents a practical approach for implementing undo in state-based collaboration.
Synchronous vs. Async Projections
Projections are by default asynchronous for command execution, but GUIs need synchronous action and projection generation to ensure correct operation. This article explores when to use each approach and how to balance performance with correctness.
CRUD, REST, and the Case for Explicit Commands
CRUD and REST interfaces are centered on manipulating resources, not expressing business actions. This article explores why explicit command interfaces are essential for collaborative systems and how they create clearer workflows and simpler UIs.
State Systems vs. Process Systems: Why Only One Can Have Parallel Tasks
Understanding the fundamental difference between state-based collaboration and BPMN-style process collaboration. This article explores why state systems can only have one active state at a time, while process systems can have multiple active tasks in parallel.
Project Management Tools as a Special Case of State-Based Collaboration
Most modern project management tools implement a simplified form of state-based collaboration. This article explains how tools like Trello, Asana, and Jira fit into the broader idea of state-based collaboration, why they work well for simple task flows, and where they fall short when workflows become more complex.
State-Based Collaboration as an Architectural Lens for Product Strategy
State-based collaboration is not just a workflow technique—it is an architectural lens for thinking about your entire product's data model, permissions, user experience, and automation strategy. This article explores how the state-based lens simplifies architecture, improves product consistency, and strengthens product strategy.
The Paradigm Shift: Why Tests Will Replace Specifications in the Age of AI
When AI generates code, the traditional specification → implementation → testing pipeline collapses. This article explores why tests become the new architecture and how this paradigm shift redefines software design in the age of AI-generated code.
Per-User Projections: Advantages, Disadvantages, and When They're Worth It
Per-user projections are one of the most powerful ideas in event-driven, collaboration-heavy systems. This article explains what they are, why they exist, their advantages and disadvantages, and when they're worth the cost.
How Product Pod Roles Change Across Three Phases of AI Adoption
Most discussions about AI in software focus on productivity, but the deeper change is who is responsible for what, and what work actually matters inside a product pod. This article examines three phases of evolution and what each role actually does in each phase.
Explore the framework
Articles explore concepts built on the State-Based Collaboration Framework. Understanding the framework components will help you apply these ideas effectively.
View the framework