Skip to main content
Taskadetaskade
PricingLoginSign up for free →Sign up for free →
Loved by 1M+ users·Hosting 100K+ apps·Deploying 500K+ AI agents·Running 1M+ automations·Backed by Y Combinator
TaskadeAboutPressPricingFeaturesIntegrationsChangelogContact us
GalleryProductivityKitsVideosReviewsLearnHelpDocsFAQ
VibeVibe AppsVibe AgentsVibe CodingVibe Workflows
Vibe MarketingVibe DashboardsVibe CRMVibe AutomationVibe PaymentsVibe DesignVibe SEOVibe Tracking
Community
FeaturedQuick AppsTools
DashboardsWebsitesWorkflowsProjectsFormsCreators
DownloadsAndroidiOSMac
WindowsChromeFirefoxEdge
Compare
vs Cursorvs Boltvs Lovable
vs V0vs Windsurfvs Replitvs Emergentvs Devinvs Claude Codevs ChatGPTvs Claudevs Perplexityvs GitHub Copilotvs Figma AIvs Notionvs ClickUpvs Asanavs Mondayvs Trellovs Jiravs Linearvs Todoistvs Evernotevs Obsidianvs Airtablevs Basecampvs Mirovs Slackvs Bubblevs Retoolvs Webflowvs Framervs Softrvs Glidevs FlutterFlowvs Base44vs Adalovs Durablevs Gammavs Squarespacevs WordPressvs UI Bakeryvs Zapiervs Makevs n8nvs Jaspervs Copy.aivs Writervs Rytrvs Manusvs Crewvs Lindyvs Relevance AIvs Wrikevs Smartsheetvs Monday Magicvs Codavs TickTickvs Any.dovs Thingsvs OmniFocusvs MeisterTaskvs Teamworkvs Workfrontvs Bitrix24vs Process Streetvs Toggl Planvs Motionvs Momentumvs Habiticavs Zenkitvs Google Docsvs Google Keepvs Google Tasksvs Microsoft Teamsvs Dropbox Papervs Quipvs Roam Researchvs Logseqvs Memvs WorkFlowyvs Dynalistvs XMindvs Whimsicalvs Zoomvs Remember The Milkvs Wunderlist
Genesis AIVideo GuideApp BuilderVibe Coding
Agent BuilderDashboard BuilderCRM BuilderWebsite BuilderForm BuilderWorkflow AutomationWorkflow BuilderBusiness-in-a-BoxAI for MarketingAI for Developers
AI Agents
FeaturedProject ManagementProductivity
MarketingTranslatorContentWorkflowResearchPersonalSalesSocial MediaTo-Do ListCRMTask AutomationCoachingCreativityTask ManagementBrandingFinanceLearning and DevelopmentBusinessCommunity ManagementMeetingsAnalyticsDigital AdvertisingContent CurationKnowledge ManagementProduct DevelopmentPublic RelationsProgrammingHuman ResourcesE-CommerceEducationLegalEmailSEODeveloperVideo ProductionDesignFlowchartDataPromptNonprofitAssistantsTeamsCustomer ServiceTrainingTravel PlanningUML DiagramER DiagramMath TutorLanguage LearningCode ReviewerLogo DesignerUI WireframeFitness CoachAI Lead EnrichmentFounder OSAI SDR AgentAll Categories
Automations
FeaturedBusiness-in-a-BoxInvestor Operations
Education & LearningHealthcare & ClinicsStripeSalesContentMarketingEmailCustomer SupportHubSpotProject ManagementAgentic WorkflowsBooking & SchedulingCalendarReportsSlackWebsiteFormTaskWeb ScrapingWeb SearchChatGPTText to ActionYoutubeLinkedInTwitterGitHubDiscordMicrosoft TeamsWebflowRSS & Content FeedsGoogle WorkspaceManufacturing & OperationsAI Agent TeamsMulti-Agent AutomationNotion AutomationsAgentic AutomationAll Categories
Wiki
Taskade GenesisAI AgentsAutomation
ProjectsLiving DNAAutonomous Workspaces, Agents & AppsQuantum AI & Taskade Genesis QuantumPlatformIntegrationsProductivityMethodsProject ManagementAgileScrumAI ConceptsCommunityTerminologyFeatures
Templates
FeaturedChatGPTTable
PersonalProject ManagementSalesFlowchartTask ManagementEngineeringEducationDesignTo-Do ListMarketingMind MapGantt ChartOrganizationalPlanningMeetingsTeam ManagementStrategyGamingProductionProduct ManagementStartupRemote WorkY CombinatorRoadmapCustomer ServiceLegalEmailBudgetsContentConsultingE-CommerceStandard Operating Procedure (SOP)Human ResourcesProgrammingMaintenanceCoachingSocial MediaHow-TosResearchMusicTrip PlanningCRMClient OnboardingEmployee OnboardingSOPBug TrackerRecruitment TrackerFormSales PipelineContent CalendarMarketing PlanProduct RoadmapBusiness PlanSWOT Analysis30-60-90 Day PlanInterviewNotion AlternativeKPI TemplatesStrategic Plan TemplatesMeeting Agenda TemplatesInvoiceRisk RegisterIT Asset ManagementKanban BoardChange ManagementCommunication PlanRFPScope of WorkStatement of WorkHelpdeskKnowledge BaseCreative BriefGoal SettingExecutive SummaryGap AnalysisBooking SystemEvent ManagementPortfolio TrackerCustomer Onboarding PortalsAll Categories
Generators
AI SoftwareNo-Code AI AppAI App
AI WebsiteAI DashboardAI FormAI AgentClient PortalAI WorkspaceAI ProductivityAI To-Do ListAI WorkflowsAI EducationAI Mind MapsAI FlowchartAI Scrum Project ManagementAI Agile Project ManagementAI MarketingAI Project ManagementAI Social Media ManagementAI BloggingAI Agency WorkflowsAI ContentAI Software DevelopmentAI MeetingAI PersonasAI OutlineAI SalesAI ProgrammingAI DesignAI FreelancingAI ResumeAI Human ResourceAI SOPAI E-CommerceAI EmailAI Public RelationsAI InfluencersAI Content CreatorsAI Customer ServiceAI BusinessAI PromptsAI Tool BuilderAI SEOAI Gantt ChartAI CalendarsAI BoardAI TableAI ResearchAI LegalAI ProposalAI Video ProductionAI Health and WellnessAI WritingAI PublishingAI NonprofitAI DataAI Event PlanningAI Game DevelopmentAI Project Management AgentAI Productivity AgentAI Marketing AgentAI Personal AgentAI Business and Work AgentAI Education and Learning AgentAI Task Management AgentAI Customer Relations AgentAI Programming AgentAI SchemaAI Business PlanAI Pitch DeckAI InvoiceAI Lesson PlanAI Social Media CalendarAI API DocumentationAI Database SchemaAI Marketing PlanAI Sales PipelineAI Course BuilderInternal ToolsAll Categories
Converters
AI Featured ConvertersAI PDF ConvertersAI CSV Converters
AI Markdown ConvertersAI Prompt to App ConvertersAI Data to Dashboard ConvertersAI Workflow to App ConvertersAI Idea to App ConvertersAI Flowcharts ConvertersAI Mind Map ConvertersAI Text ConvertersAI Youtube ConvertersAI Knowledge ConvertersAI Spreadsheet ConvertersAI Email ConvertersAI Web Page ConvertersAI Video ConvertersAI Coding ConvertersAI Task ConvertersAI Kanban Board ConvertersAI Notes ConvertersAI Education ConvertersAI Language TranslatorsAI Business → Backend App ConvertersAI File → App ConvertersAI SOP → Workflow App ConvertersAI Portal → App ConvertersAI Form → App ConvertersAI Schedule → Booking App ConvertersAI Metrics → Dashboard ConvertersAI Game → Playable App ConvertersAI Catalog → Directory App ConvertersAI Creative → Studio App ConvertersAI Agent → Agent App ConvertersAI Audio ConvertersAI DOCX ConvertersAI EPUB ConvertersAI Image ConvertersAI Resume & Career ConvertersAI Presentation ConvertersAI PDF to Spreadsheet ConvertersAI PDF to Database ConvertersAI PDF to Quiz ConvertersAI Image to Notes ConvertersAI Audio to Notes ConvertersAI Email to Tasks ConvertersAI CSV to Dashboard ConvertersAI YouTube to Flashcards ConvertersURL to NotesVideo → SummaryAll Categories
Prompts
Blog WritingBrandingPersonal Finance
Human ResourcesPublic RelationsTeam CollaborationProduct ManagementSupportAgencyReal EstateMarketingCodingResearchSalesAdvertisingSocial MediaCopywritingContentProject ManagementWebsite CreationDesignStrategyE-commerceEngineeringSEOEducationEmail MarketingUX/UIProductivityInfluencer MarketingAnalyticsEntrepreneurshipLegalVibe Coding PromptAll Categories
Blog
AI Agent Teams Collaboration: How They Co-Edit Work With Humans in 2026AI App Builder vs AI Workspace Builder: The 2026 Category SplitHow to Build an Internal Tool Without Code in 2026 (No Engineering Backlog)
How to Build a Client Portal Without Code in 2026 (No Developer)Micro Apps Explained: Why 150,000+ Have Already Been Built in 2026How to Build a CRM Without Code in 2026 (No Developer Needed)Context Engineering for Non-Developers: How Workspace DNA Productizes the Discipline (2026)How to Build a Business App Without Code in 2026 (No Engineer Required)Replace a Team With Genesis: The 2026 Role-by-Role Playbook9 Best Open-Source AI LLMs in 2026, Ranked for Real WorkHistory of Virtualization: From IBM CP-40 to the Agentic Era (2026)Multi-Agent AI Platforms for Teams: Where Agents Share Memory in 2026The Solo Operator's Stack: One Workspace Replaces Seven Roles in 2026History of Cloud Computing: From IBM CP-40 to the Workspace Era (2026)Taskade Genesis vs Claude Live Artifacts (2026): The Workspace vs the File FormatWorkspace-Native AI Agents: A New Category for 2026Founder Dinner CRM: Free Event Template With AI Concierge (2026)
AIAutomationProductivityProject ManagementRemote WorkStartupsKnowledge ManagementCollaborative WorkUpdates
Changelog
Custom Domains, Secured Faster (May 29, 2026)Automate from Agents, Teams & Media (May 28, 2026)Connect Any Service, Keys Stay Safe (May 26, 2026)
Every Gallery App, Live and Clonable (May 25, 2026)Two More Frontier Models & Clear Costs (May 22, 2026)More Frontier Models & Welcome Drip (May 20, 2026)Template Card Polish (May 19, 2026)
Wiki
Taskade GenesisAI AgentsAutomation
ProjectsLiving DNAAutonomous Workspaces, Agents & AppsQuantum AI & Taskade Genesis QuantumPlatformIntegrationsProductivityMethodsProject ManagementAgileScrumAI ConceptsCommunityTerminologyFeatures
© 2026 Taskade.
PrivacyTermsSecurity
Made withTaskade AIforBuilders
BlogAIOT vs CRDT in 2026: Choosing…

OT vs CRDT in 2026: Choosing the Right Algorithm for Multiplayer Apps

OT and CRDT are the two dominant algorithms for real-time collaboration. Here is how they compare across latency, memory, offline support, and AI agent velocity in 2026.

OT vs CRDT comparison diagram for real-time collaboration algorithms in multiplayer apps
May 4, 2026Updated May 11, 202629 min readStan ChangAI·#engineering#ot#crdt
On this page (40)
IntroductionWhat Is Operational Transform (OT)?The V=AXY Client State ModelWhat Are CRDTs?OT vs CRDT: Head-to-Head ComparisonMemory Overhead: The NumbersThe Architecture Decision: Centralized vs DecentralizedWhy Centralized OT Is Simpler Than You ThinkOT for Structured Data: The Hard Problem Nobody Talks AboutThe Eight Operation TypesConflict Resolution: Three Real ScenariosScenario 1: Simultaneous Kanban DragScenario 2: Edit While ReparentingScenario 3: Delete While EditingThe AI Agent Velocity MismatchHow We Handle ItFramework and Library Comparison (2026)Taskade's Approach: OT for the Entire WorkspacePricing and AccessTransport Architecture: Why Three SystemsLessons from Eight Years in Production1. Start Simple, Stay Simple2. The Multi-View Problem Compounds3. Undo/Redo Is the Hardest Problem4. Testing OT Is Brutally Hard5. Rich Text Is a Separate OT Domain6. Convergence Bugs Are Data CorruptionWhen to Choose OTWhen to Choose CRDTsThe 2026 Landscape: Convergence of OT and CRDTThe Lineage: 37 Years From Ellis-Gibbs to Taskade GenesisThe Aaron Iba Lineage ReceiptJoseph Gentle's Three-Essay Reversal — In ContextWhy AI Agents Tip the Balance Back Toward OTThe Workspace Where Humans, Agents, and EVE Share One OT WireGenesis Capability Map — From the May 2026 NewslettersThe Full Workspace-Software Lineage SeriesGetting Started: Build Multiplayer with Taskade GenesisFurther ReadingFrequently Asked Questions

Introduction

I have spent the last eight years maintaining a real-time collaboration engine. Not for a text editor. Not for a 2D canvas. For a structured project workspace where the same JSONB tree renders as a Kanban board, a Gantt chart, a Mind Map, and four other views — simultaneously, for every connected user.

The question I get asked most at engineering meetups is always the same: "OT or CRDT?"

The answer in 2026 is the same answer it was in 2018: it depends on your architecture. But the landscape has shifted. CRDTs have matured dramatically. Eg-walker bridged OT and CRDT performance. And a new variable has entered the equation that nobody anticipated — AI agents editing documents at 1,000+ words per minute alongside human collaborators typing at 40 WPM.

TL;DR: OT and CRDT are both viable for multiplayer apps in 2026. OT wins for centralized, server-authoritative architectures with structured data and deterministic conflict resolution. CRDTs win for offline-first, peer-to-peer, and local-first apps. The new wildcard is AI agent velocity — agents generate operations 25-100x faster than humans, stressing both algorithms in ways neither was designed for. Try Taskade free →

This post compares OT and CRDT across eight dimensions, explains the AI velocity mismatch problem, and gives you a decision framework for choosing the right algorithm for your multiplayer app.

Real-time collaboration


What Is Operational Transform (OT)?

Operational Transform is a concurrency control algorithm invented at Xerox PARC in 1989 by Ellis and Gibbs. The core idea is simple: when two users make concurrent edits, a central server transforms one operation against the other so both clients converge to the same state.

Here is the classic example. Alice inserts "X" at position 3. Bob deletes the character at position 1. If we apply both operations naively, the document corrupts. OT transforms Bob's delete so Alice's insert position adjusts correctly.

The key architectural requirement: OT needs a server. The server maintains a linear revision history and transforms incoming operations against any that arrived first. This is why Google Docs, Figma, and Taskade all use OT — they already have centralized servers.

OT satisfies two convergence properties:

  • CP1 (Convergence Property 1): If two clients start from the same state and apply the same set of operations (possibly in different orders), they converge to the same final state.
  • TP1 (Transformation Property 1): The transform function preserves intention when applied pairwise.

For centralized architectures, CP1 and TP1 are sufficient. You do not need CP2 or TP2 (which handle three-way and n-way concurrent transforms). This is a massive simplification that CRDT advocates rarely mention.

The V=AXY Client State Model

Most production OT systems use a three-part client state model inspired by Etherpad's easysync:

  • A (Acknowledged): The last server-confirmed state. Both client and server agree on this.
  • X (Submitted): Changes sent to the server but not yet acknowledged. Like a text message sent but awaiting the delivery receipt.
  • Y (Local): Changes applied locally but not yet submitted. The user sees these immediately — zero perceived latency.

When the server acknowledges X, it merges into A. If concurrent operations arrived while X was in flight, Y gets transformed against them. The user never waits.

User edits → submit Server ACK → merge User types → apply locally Flush → submit batch Transform againstconcurrent ops XSubmitted YLocal A
User edits → submit Server ACK → merge User types → apply locally Flush → submit batch Transform againstconcurrent ops XSubmitted YLocal A

This model is why real-time collaboration feels instant even on high-latency connections. Your keystrokes apply immediately to Y. The server catches up asynchronously.


What Are CRDTs?

Conflict-free Replicated Data Types are data structures that guarantee convergence without a central coordinator. Instead of transforming operations on a server, CRDTs encode merge rules into the data structure itself. Every replica can accept edits independently, and when replicas sync, they merge deterministically.

The two main families:

  • State-based CRDTs (CvRDTs): Replicas exchange full state and merge via a join-semilattice. Simple but bandwidth-heavy.
  • Operation-based CRDTs (CmRDTs): Replicas exchange operations. More efficient but requires reliable causal delivery.

For text editing, the most common CRDT approaches are:

  • RGA (Replicated Growable Array): Used by Automerge. Each character gets a unique ID (site ID + logical timestamp). Deletions create tombstones rather than removing elements.
  • YATA (Yet Another Transformation Approach): Used by Yjs. Optimized for sequential inserts with a linked list structure.
  • Fugue: A 2023 design from Weidner et al. that achieves optimal interleaving behavior.

The defining advantage of CRDTs: no server required. Two peers can edit offline for hours, sync when reconnected, and converge to the same state without any central authority. This is transformative for local-first software, peer-to-peer apps, and edge computing.

The defining cost: metadata overhead. Every character or element carries a unique ID, a causal ordering structure, and tombstones for deletions. Per TinyMCE's research, this adds 16-32 bytes per character for text CRDTs. For a 50,000-word document, that is 1.6-3.2 MB of metadata on top of the content itself.


OT vs CRDT: Head-to-Head Comparison

Here is how OT and CRDT compare across the eight dimensions that matter most for production multiplayer software:

Dimension OT CRDT
Architecture Centralized, server-authoritative Decentralized, peer-to-peer capable
Consistency model Strong (server-ordered) Eventual (merge semantics)
Conflict resolution Deterministic server transform CRDT merge rules (last-writer-wins, sets, counters)
Memory overhead Revision number + current state Tombstones + unique IDs + vector clocks per element
Offline support Limited (buffer and replay) Native (designed for disconnected editing)
Implementation complexity Transform functions per operation pair (O(n^2) pairs) Data structure design + garbage collection
Latency One round-trip to server per batch Zero (local-first apply, sync async)
Best fit SaaS with backend, structured data, typed fields Local-first apps, P2P, offline-heavy workflows

Neither algorithm is universally better. They solve different problems. OT assumes you have a server and optimizes for that constraint. CRDTs assume you might not have a server and pay the metadata cost for that freedom.

Memory Overhead: The Numbers

This is the dimension most teams underestimate. Let me put concrete numbers on it.

For a Taskade project with 10,000 nodes (a mid-size workspace), each node containing ~200 characters of text plus metadata:

  • OT storage: Current state (~2 MB for nodes + text) + 1 revision counter (8 bytes). Total: ~2 MB.
  • CRDT storage: Current state (~2 MB) + 16-32 bytes per character of tombstone/ID overhead (~32-64 MB for 2M characters) + vector clocks. Total: ~34-66 MB.

That is a 17-33x difference in memory footprint. For a single document. Multiply by thousands of active documents in a workspace, and the operational cost diverges dramatically.

CRDTs can garbage collect tombstones when all replicas have seen the deletion, but this requires coordination — which partially negates the "no coordination needed" benefit.


The Architecture Decision: Centralized vs Decentralized

The OT-vs-CRDT debate is really an architecture debate. The algorithm follows from your infrastructure decision.

Yes No Yes No, plain text Yes No Do you have acentral server? Is your datastructured/typed? Need offlineediting? OTServer transforms typed fieldsdeterministically Either worksOT simpler, CRDT more flexible CRDTLocal-first mergewithout coordination WebSocket relaySimpler than both
Yes No Yes No, plain text Yes No Do you have acentral server? Is your datastructured/typed? Need offlineediting? OTServer transforms typed fieldsdeterministically Either worksOT simpler, CRDT more flexible CRDTLocal-first mergewithout coordination WebSocket relaySimpler than both

If you have a server (and most SaaS products do), OT gives you deterministic conflict resolution with minimal overhead. You satisfy CP1/TP1 and you are done. No tombstones. No vector clocks. No garbage collection coordination.

If you do not have a server — or your users need to work offline for extended periods, or you are building peer-to-peer software — CRDTs are the natural choice. The metadata cost is the price of decentralization, and it is worth paying when your users genuinely need it.

The mistake I see most often: teams choosing CRDTs for a centralized SaaS app because CRDTs feel more "modern." CRDTs solve a problem you do not have (decentralized consensus), and you pay for it in memory, complexity, and garbage collection logistics.

Why Centralized OT Is Simpler Than You Think

The academic OT literature is intimidating. Papers discuss CP2, TP2, n-way transforms, and the Jupiter protocol. Here is what you actually need for a production centralized system:

  1. CP1: All clients converge when they apply the same operations. The server ensures this by maintaining a single operation order.
  2. TP1: Pairwise transform correctness. If operation A and B are concurrent, transform(A, B) and transform(B, A) produce the same final state.

That is it. CP2 (three-way convergence) is only needed for decentralized systems where operations can arrive in arbitrary causal order. If you have a server, you have a total order. CP2 is irrelevant.

This is the simplification that made our real-time collaboration engine tractable. Eight operation types, each with a pairwise transform against every other operation type: 8 x 8 = 64 transform pairs. Manageable. Testable. Debuggable at 2 AM when something breaks.


OT for Structured Data: The Hard Problem Nobody Talks About

Most OT and CRDT blog posts focus on flat text. Insert character. Delete character. That is the solved problem.

The unsolved problem — the one I have been working on for eight years — is OT for tree-structured data with typed fields that renders across multiple views.

At Taskade, every document is a JSONB tree of nodes. Each node contains rich text (Quill Delta), metadata, custom fields (dates, statuses, priorities, assignees), and child references. The same tree renders across 7 project views — List, Board, Calendar, Table, Mind Map, Gantt, and Org Chart.

When a user drags a card from "In Progress" to "Done" in Board view, that single action must:

  1. Update the status field on the node (set-node-format)
  2. Potentially reorder children (del-node-children + ins-node-children)
  3. Propagate to the Gantt view (task completion affects timeline)
  4. Propagate to the Calendar view (if the done date changes)
  5. Propagate to the Mind Map view (visual state updates)
  6. Broadcast to every connected client across all views

And if another user simultaneously drags the same card to a different column? The server must transform these concurrent operations deterministically. Last-writer-wins on the status field. The second operation gets transformed against the first.

root node_1Task: Design Review node_2Task: Ship Feature node_3Subtask: Mockups node_4Subtask: Prototype node_5Subtask: QA end Board View Calendar View Table View Mind Map View Gantt View Org Chart
root node_1Task: Design Review node_2Task: Ship Feature node_3Subtask: Mockups node_4Subtask: Prototype node_5Subtask: QA end Board View Calendar View Table View Mind Map View Gantt View Org Chart

This is why OT wins for structured data. The server can enforce semantic rules: "status changes are last-writer-wins, but reparenting requires parent-child consistency checks." CRDTs encode merge rules into the data structure, but those rules must be generic — a CRDT does not know that moving a Kanban card should also update the Gantt timeline.

The Eight Operation Types

Every interaction across all seven views maps to a vocabulary of eight operations:

Operation What It Does Example Interaction
ins-node Insert a new node into the tree Create a new task
del-node Remove a node from the tree Delete a task
set-node-completed Toggle completion state Check off a to-do item
set-node-collapsed Toggle collapse/expand Collapse a section in List view
set-node-format Change metadata or custom fields Drag a Kanban card, change a date, set priority
ins-node-children Add children to a node Create subtasks
del-node-children Remove children from a node Remove subtasks
apply-node-text Apply Quill Delta to rich text Type content into a task

Eight operations. Every single user interaction across seven views decomposes into one or more of these eight primitives. A Kanban drag is del-node-children + ins-node-children + set-node-format. A Gantt bar drag is set-node-format on the date fields. Keeping the operation set small means the transform matrix is tractable: 64 pairwise transforms, each hand-written and tested.


Conflict Resolution: Three Real Scenarios

Theory is useful. Production scenarios are more useful. Here are three conflicts we handle daily.

Scenario 1: Simultaneous Kanban Drag

Alice drags a task to the "Done" column. Bob drags the same task to "In Progress." Both operations hit the server within milliseconds.

  • Alice's set-node-format(status="Done") arrives first.
  • Bob's set-node-format(status="In Progress") arrives second.
  • The server transforms Bob's operation against Alice's. Same field, same node — last-writer-wins. Alice's change stands.
  • Bob sees his card snap to "Done." Jarring, but deterministic. Both clients converge.

Scenario 2: Edit While Reparenting

Alice types in a task's description. Bob moves that task to a different project section. These operations touch different fields — text content vs. parent reference.

Both operations apply without conflict. Alice's text appears in the reparented location. The OT engine recognizes that apply-node-text and del-node-children + ins-node-children are independent and can coexist.

Scenario 3: Delete While Editing

Alice deletes a task. Bob is typing in that task. The server processes the delete first.

Bob's apply-node-text targets a node that no longer exists. The operation is dropped. Bob sees the task disappear and his unsaved text is lost.

This is an honest trade-off. We could tombstone deleted nodes and preserve pending edits, but that adds CRDT-like overhead and complicates the deletion model. We chose simplicity. Eight years of production data shows this conflict is rare — and when it happens, the user re-types a few words.


The AI Agent Velocity Mismatch

Here is the variable that was not in any OT or CRDT paper before 2024: AI agents editing documents alongside humans.

A human types at 40 words per minute. An AI agent generates text at 1,000-4,000 WPM. That is a 25-100x velocity mismatch hitting the same collaboration engine.

When we first connected AI to our OT engine in late 2022, the results were illuminating. An AI writer generating a project outline produced hundreds of operations per second — each one triggering a transform, a broadcast, a database write, and a render update on every connected client. Human cursors stuttered. The server's transform queue grew faster than it drained.

This problem affects both OT and CRDT:

  • OT: The server becomes a bottleneck. Every AI-generated operation must be transformed against concurrent human operations and broadcast. At 100 ops/second from the AI plus 1 op/second from each human, the transform queue grows linearly with AI throughput.
  • CRDT: The metadata overhead compounds. Each AI-generated character carries its unique ID and causal ordering. A 2,000-word AI response creates ~12,000 CRDT entries in seconds, each with 16-32 bytes of metadata. That is 192-384 KB of metadata for a single AI reply.

How We Handle It

Our approach — and this applies regardless of whether you use OT or CRDT — is operation batching at the agent layer:

  1. Batch AI operations: Instead of emitting one operation per character, the AI agent batches output into paragraph-level changesets. A 500-word paragraph becomes a single ins-node + apply-node-text compound operation, not 2,500 individual character inserts.
  2. Rate-limit agent broadcasts: AI operations propagate to human clients at a human-readable cadence (every 200ms), even if the AI generates faster internally.
  3. Separate transform priority: Human operations get priority in the transform queue. If the server is busy transforming AI batches, human ops jump the queue to preserve responsiveness.

This is the kind of practical engineering that does not show up in algorithm comparisons. OT and CRDT are both viable foundations, but the integration layer determines the user experience when AI agents and humans collaborate in the same document.


Framework and Library Comparison (2026)

If you are building multiplayer today, here are the leading options:

Framework Algorithm Language Notable Users Best For
Yjs CRDT (YATA) TypeScript Notion, Jupyter, Cargo Text-heavy collaborative editors
Automerge CRDT (RGA) Rust + JS bindings Ink & Switch, Muse Local-first research apps
Diamond Types CRDT Rust — Performance-critical CRDT systems
Eg-walker OT/CRDT hybrid Research — Academic benchmark (Gentle & Kleppmann 2024)
ShareDB OT (JSON0) Node.js Various startups Quick MVP with JSON OT
Liveblocks CRDT (hosted) TypeScript SDK Various SaaS Managed collaboration infra
PartyKit CRDT (Yjs-backed) TypeScript — Edge-deployed real-time sync
Custom OT OT Varies Google Docs, Figma, Taskade Teams needing full control

A few observations:

Yjs dominates the CRDT ecosystem. It is battle-tested, well-documented, and integrates with most editors (ProseMirror, TipTap, CodeMirror, Monaco). If you want CRDTs, start with Yjs.

Eg-walker is the most interesting academic work. Gentle and Kleppmann showed in 2024 that you can build a CRDT that matches OT's performance characteristics by replaying operations in causal order — essentially an OT algorithm wearing a CRDT interface. It validates the intuition that the algorithms are converging.

Custom OT is still the choice for complex data models. Google Docs, Figma, and Taskade all built custom OT engines because off-the-shelf solutions could not handle their specific data structures (rich text with formatting, 2D canvas objects, JSONB trees with typed fields). If your data model is more complex than plain text, expect to build custom.


Taskade's Approach: OT for the Entire Workspace

At Taskade, we chose OT in 2017 before CRDTs were trendy. Eight years later, I would make the same decision.

Our architecture is centralized. Our data model is a typed JSONB tree. Our conflict resolution needs are deterministic (status fields, date fields, completion states). CRDTs would give us offline-first capability we do not need (our users are almost always online) while costing us 17-33x more memory per document and significantly more implementation complexity for typed field resolution.

Aspect Our Approach
Algorithm Custom OT, inspired by Etherpad easysync
Client state model V=AXY (Acknowledged, Submitted, Local)
Operation types 8 typed operations for tree manipulation
Transport WebSocket for real-time delivery
Convergence CP1 + TP1 (sufficient for centralized)
Rich text Quill Delta OT (separate domain from tree OT)
Views from one tree 7 — List, Board, Calendar, Table, Mind Map, Gantt, Org Chart
AI agent integration Batched operations, rate-limited broadcast, priority queue

The AI agent system connects through the same OT engine. When an AI agent builds a project outline, generates subtasks, or edits descriptions, those operations flow through the same transform pipeline as human keystrokes. The agent is just another client in the V=AXY model — with much faster Y generation.

You can see this in action in the Community Gallery where users share AI-generated apps built on top of this collaboration infrastructure. Every one of those apps renders multiple views from a single OT-synced tree.

Pricing and Access

Taskade Genesis starts at $6/month (Starter, annual billing), with Pro at $16/month for up to 10 users and Business at $40/month for unlimited seats. Real-time collaboration and AI agents are available across all plans. See the pricing page for full plan details.


Transport Architecture: Why Three Systems

A common question when comparing OT and CRDT implementations: how do you actually move operations between clients?

For OT, you need three things:

  1. Real-time delivery: Operations must reach the server and return to clients within milliseconds. WebSockets handle this.
  2. Multi-instance fanout: If your server runs multiple instances behind a load balancer, operations arriving at instance A must reach clients connected to instance B. A pub/sub layer handles this.
  3. Durable side effects: Operations trigger secondary effects — search index updates, notification delivery, automation workflows, activity feeds. These need ordering guarantees and durability. A message queue handles this.

For CRDTs in a P2P architecture, the transport is simpler (any reliable channel between peers) but the sync protocol is more complex (causal ordering, state/operation merging, anti-entropy).

Neither approach is simpler end-to-end. OT has a simpler data model but a more complex transport. CRDTs have a more complex data model but a simpler transport. The total system complexity is roughly equivalent — it just lives in different layers.


Lessons from Eight Years in Production

I have maintained this OT engine through three major redesigns, the addition of five new view types, the introduction of AI editing, and millions of documents. Here is what I have learned.

1. Start Simple, Stay Simple

Our OT is not theoretically elegant. The transform functions are hand-written, case-by-case implementations for each operation pair. No generic transform framework. No algebraic formalization. Just 64 functions that handle every combination of our eight operation types.

Evan Wallace at Figma said the same thing: "It doesn't need to be a general-purpose OT library. It needs to work for your specific data model." I agree completely.

2. The Multi-View Problem Compounds

Every new view type we add must work with all eight operation types. When we went from 4 views to 7, the testing surface did not grow linearly — it grew multiplicatively. Each view has unique rendering logic that interprets the tree differently, and each must handle every operation type correctly.

Calendar view interprets set-node-format on a date field as an event move. Gantt view interprets the same operation as a timeline shift. Board view interprets a status field change as a card drag between columns. Same operation, seven interpretations, zero inconsistencies allowed.

3. Undo/Redo Is the Hardest Problem

In single-player, undo reverses the last operation. In multiplayer, "undo" means "undo MY last change, not everyone's changes." This requires tracking operation provenance — which operations belong to which user — and computing inverse transforms that only affect the current user's changes while preserving everyone else's.

We got this wrong twice before getting it right. The naive approach (invert the last operation) corrupts the document when concurrent operations have been applied between the original operation and the undo.

4. Testing OT Is Brutally Hard

You need to test every pair of concurrent operations across every operation type. That is 8 x 8 = 64 transform pairs minimum. But each pair has multiple sub-cases: same node vs. different nodes, parent-child relationships, overlapping text ranges, identical field modifications.

In practice, our OT test suite covers ~400 scenarios. Every production bug we have ever found maps to a missing test scenario. We add the scenario, fix the transform, and the bug class disappears forever. The test suite is the real product.

5. Rich Text Is a Separate OT Domain

We do not transform rich text ourselves. Node-level operations (insert, delete, reparent, set fields) use our custom OT. Text within nodes uses Quill Delta's built-in OT. These are two independent transform domains that compose cleanly: tree operations transform at the node level, text operations transform at the character level within a single node.

This separation is critical. Mixing tree transforms with text transforms would create a combinatorial explosion of edge cases. Keep them separate. Let Quill Delta handle text. Handle the tree yourself.

6. Convergence Bugs Are Data Corruption

In most software, a bug means a wrong UI state, a crash, or a bad response. In OT, a convergence bug means every client sees a different document. And they do not know it. The documents silently diverge, and users discover the inconsistency minutes or hours later when they compare screens.

This is why I agree with Jake Nations's framing: you cannot ship OT code you do not understand. A transform bug corrupts every document on the platform. There is no AI that can debug convergence at 2 AM. You need to understand every transform.


When to Choose OT

Choose OT when:

  • You have a centralized server and do not need peer-to-peer sync
  • Your data model has typed fields that need deterministic conflict resolution (statuses, dates, priorities)
  • You want minimal memory overhead and can trade offline capability for it
  • You are building a SaaS product where users are almost always connected
  • You need to integrate AI agents that generate operations at high velocity (the server can rate-limit and batch)
  • Your data is tree-structured (task hierarchies, outlines, org charts) rather than flat text

Production examples: Google Docs, Figma, Taskade


When to Choose CRDTs

Choose CRDTs when:

  • Users need to work offline for extended periods (hours or days) and sync later
  • You are building peer-to-peer software without a central server
  • Your data model is primarily plain text or simple key-value pairs
  • You want edge deployment where each node operates independently
  • You are building a local-first app where data lives on the user's device
  • Your conflict resolution can use generic merge semantics (last-writer-wins, sets, counters) without domain-specific rules

Production examples: Notion (Yjs-based), Linear (custom sync), Obsidian (local-first)


The 2026 Landscape: Convergence of OT and CRDT

The most interesting development in the last two years is the convergence of OT and CRDT as distinct paradigms.

Eg-walker (Gentle and Kleppmann, EuroSys 2024) showed that you can build a system that is technically a CRDT but replays operations in a way that produces OT-equivalent transforms. The performance characteristics match OT for common editing patterns while maintaining CRDT's decentralized guarantees.

Matthew Weidner's work on collaborative text editing without CRDTs or OT pushes further — arguing that the dichotomy itself is a false choice, and that hybrid approaches can take the best properties of both.

Meanwhile, practical production systems continue to use straightforward OT or CRDT implementations. Google Docs has not migrated to CRDTs. Figma has not migrated to CRDTs. Notion uses Yjs but augments it with server-side validation. The academic frontier and the production frontier are on different timelines.

My prediction: by 2028, the OT-vs-CRDT debate will be as relevant as the REST-vs-SOAP debate is today. The abstractions will merge into general-purpose "sync engines" that handle centralized and decentralized modes transparently. Liveblocks and PartyKit are early examples of this convergence in the tooling layer.

But we are not there yet. In 2026, if you are building a centralized SaaS product with structured data and AI agents, OT remains the pragmatic choice. If you are building a local-first app for offline-heavy workflows, CRDTs are the natural fit. Choose the algorithm that matches your architecture, not the one that matches the Hacker News zeitgeist.


The Lineage: 37 Years From Ellis-Gibbs to Taskade Genesis

The OT-vs-CRDT debate isn't an abstract algorithm contest — it's the latest chapter of a 37-year people-and-papers story. The receipts:

1989Ellis & GibbsSIGMOD: dOPT + GROVE 1995Jupiter at PARCNichols et al. 1998Sun & EllisTP1 + TP2 formalized 1989Lotus Notes 1.0Ray Ozzie · replication 2006WOOT · Oster et al.First text CRDT 2009LogootWeiss / Urso / Molli 2011Shapiro et al.INRIA RR-7687 · CRDT 2011Roh et al.RGA 2009Etherpad · EasysyncAaron Iba · OT in browser 2009-2010Google WaveOT on XML trees 2011ShareJS / ot-json0Joseph Gentle ex-Wave 2017Taskade Projectsot-json0 stack 2016YATA · YjsKevin Jahns 2017AutomergeKleppmann 2019Local-First manifestoInk & Switch 2020Gentle 'I was wrong'CRDTs are the future 2022PeritextRich-text CRDT 2023Diamond TypesGentle · 5000× faster 2025Taskade GenesisAI agents on OT wire
1989Ellis & GibbsSIGMOD: dOPT + GROVE 1995Jupiter at PARCNichols et al. 1998Sun & EllisTP1 + TP2 formalized 1989Lotus Notes 1.0Ray Ozzie · replication 2006WOOT · Oster et al.First text CRDT 2009LogootWeiss / Urso / Molli 2011Shapiro et al.INRIA RR-7687 · CRDT 2011Roh et al.RGA 2009Etherpad · EasysyncAaron Iba · OT in browser 2009-2010Google WaveOT on XML trees 2011ShareJS / ot-json0Joseph Gentle ex-Wave 2017Taskade Projectsot-json0 stack 2016YATA · YjsKevin Jahns 2017AutomergeKleppmann 2019Local-First manifestoInk & Switch 2020Gentle 'I was wrong'CRDTs are the future 2022PeritextRich-text CRDT 2023Diamond TypesGentle · 5000× faster 2025Taskade GenesisAI agents on OT wire

The Aaron Iba Lineage Receipt

Most "lineage" claims in tech writing are metaphors. The Etherpad → Google Wave → ot-json0 → Taskade lineage is a cap-table receipt:

  • Aaron Iba co-founded Etherpad in 2008 (the first character-by-character real-time browser editor) with David Greenspan and J.D. Zamfirescu.
  • Google acquired Etherpad's parent AppJet on December 4, 2009 for the Wave team. Iba and his co-founders joined Google Wave in Sydney.
  • After Wave shut down in August 2010, ex-Wave engineer Joseph Gentle extracted the operational primitives into ShareJS → ot-json0 → ShareDB.
  • Taskade Projects runs on ot-json0 — the open-source descendant of Wave's OT engine — to this day.
  • Aaron Iba is an angel investor in Taskade. Same architectural conviction, three companies, eighteen years.

That's the lineage receipt: code + organization + capital pointing the same direction.

Joseph Gentle's Three-Essay Reversal — In Context

You'll often hear "Joseph Gentle said CRDTs are the future" used as if it settles the debate. It doesn't. Gentle's actual writing — by one of the few people who shipped both OT and CRDT at production scale — is a three-essay arc:

  • 2011: "Implementing OT sucks" — the candid practitioner take on OT's combinatorial transform-pair complexity at Google Wave.
  • 2020: "I was wrong. CRDTs are the future" — argued specifically that CRDTs had matured enough for new offline-first or peer-to-peer projects. Not a generic OT obituary.
  • 2021: "CRDTs go brrr" — introduced Diamond Types with ~5,000× speedups over prior CRDT implementations via columnar encoding.

Read in context: OT and CRDT are tools for different workloads. Server-mediated rich-text editors (Google Docs, Etherpad, Taskade Projects) stay on OT. Peer-to-peer or local-first products (Linear, Obsidian Sync, Yjs apps, Automerge apps) go CRDT. Hybrids (Notion, Liveblocks) ship both. The Sun et al. 2020 "Real Differences between OT and CRDT" paper makes the academic case for OT's continued correctness advantages.

Why AI Agents Tip the Balance Back Toward OT

The new variable in 2026 is AI agents as first-class participants on the wire. Five reasons agent-heavy products gain from server-mediated OT:

  1. Agents are server-side clients — they don't go offline on a plane; the peer-to-peer / offline-first CRDT advantages don't apply.
  2. Agents need rate limiting — central authority enforces this trivially; trust-distributed P2P doesn't.
  3. Agents need audit trails — compliance, replay, "what did the agent do at 3 a.m." — easier against a linearized server log.
  4. Agents need permissioning — per-tool, per-project, per-org — server-enforced, not distributed-trust.
  5. Multi-agent collaboration is free — once one agent's changesets work, N agents work. TP1 doesn't care how many clients are typing.

This is why Taskade Projects stayed on ot-json0 and added Custom AI Agents v2 plus the meta-agent EVE as first-class co-editors on the same OT stream that hosts humans.

The Workspace Where Humans, Agents, and EVE Share One OT Wire

Taskade Genesis ships the multi-class-of-co-editor architecture today:

OT changesets OT changesets OT changesets OT changesets OT changesets via MCP broadcast broadcast broadcast broadcast broadcast Humans · cursors ot-json0Taskade ProjectEditor Substrate Custom AI Agents v233 built-in tools EVE · Genesis Meta-Agent 100+ IntegrationsSlack · Stripe · Notion · GitHubShopify · Salesforce · CalendarLinear · Monday · Airtable External MCP ClientsClaude Desktop · Cursor · VS Code
OT changesets OT changesets OT changesets OT changesets OT changesets via MCP broadcast broadcast broadcast broadcast broadcast Humans · cursors ot-json0Taskade ProjectEditor Substrate Custom AI Agents v233 built-in tools EVE · Genesis Meta-Agent 100+ IntegrationsSlack · Stripe · Notion · GitHubShopify · Salesforce · CalendarLinear · Monday · Airtable External MCP ClientsClaude Desktop · Cursor · VS Code

Five classes of co-editor. One OT engine. One audit trail. One causal-ordered history.

Genesis Capability Map — From the May 2026 Newsletters

The complete Genesis surface area was rolled out chapter by chapter across the recent Taskade newsletters:

Newsletter chapter What Taskade ships
Workspace Memory · Mind Graph Workspace-scoped knowledge graph
Agent Workflows · Tools Wired 33 built-in tools + 100+ bidirectional integrations
App Payments · Stripe Live Native Stripe Checkout actions inside Genesis Apps
Frontier Models · Auto-Routed Frontier models from OpenAI, Anthropic, Google + open-weight
Embed Apps · Anywhere Every Genesis App embeds as a responsive widget
Clone Apps · Instantly 150,000+ apps in the Community Gallery; clone any in 60 seconds

Plus vibe coding · vibe payments · vibe workflows · vibe marketing · vibe tracking and MCP both sides (Taskade-as-Server + Taskade-as-Client). 198 platform releases in 2026.


The Full Workspace-Software Lineage Series

If this article sparked the historical thread, here's the full 10-post series we shipped tracing every chapter of workspace-software lineage from 1968 to 2026:

  • History of Real-Time Collaboration: From Engelbart to AI Agents — the 58-year pillar
  • Google Wave Lessons: OT, Aaron Iba & the Taskade Lineage — the failed product whose engine survived
  • History of Etherpad: How Aaron Iba's Open-Source Editor Shaped the Modern Web — the pre-Wave story
  • History of CRDTs: How Math Beat the Distributed-Systems Problem — academic side of the substrate
  • History of HyperCard: The First No-Code Builder That Predicted Taskade Genesis — Bill Atkinson's substrate
  • History of Lotus Notes: The Original Workspace App — Ray Ozzie's lineage
  • History of Workflow Automation: From IFTTT to Bidirectional AI Agents — the iPaaS lineage
  • History of WebSockets: How the Web Got Real-Time — the transport substrate
  • History of Spreadsheets: From VisiCalc to Taskade Genesis — the programmable-document lineage
  • History of ServiceNow: From Fred Luddy's $35M Comeback to AI Control Tower — the enterprise workflow sibling lineage

Getting Started: Build Multiplayer with Taskade Genesis

If you want to experience a production OT system without building one from scratch, Taskade Genesis lets you build live apps, dashboards, and project management workflows with real-time collaboration across all 7 views. AI agents can edit, create, and automate tasks alongside human collaborators — all powered by the OT engine described in this post.

Every app in the Community Gallery runs on this infrastructure. Templates, AI agents, and automation workflows are all built on the same JSONB tree, synced via the same OT pipeline, rendered across the same 7 views.

Start building at taskade.com/create. Plans start at $6/month (Starter) with Pro at $16/month for teams up to 10.


Further Reading

If you want to go deeper on OT, CRDTs, and the AI multiplayer problem:

  • Figma: How Figma's Multiplayer Technology Works — the canonical OT post for 2D canvas
  • Figma: Realtime Editing of Ordered Sequences — fractional indexing deep dive
  • Eg-walker (Gentle & Kleppmann, 2024) — OT/CRDT hybrid with benchmark data
  • Matthew Weidner: Collaborative Text Editing without CRDTs or OT — post-paradigm thinking
  • Liveblocks: How Figma, Linear, and Google Docs Work — sync engine comparison
  • TinyMCE: OT vs CRDT — CRDT memory overhead data
  • Hex: A Pragmatic Approach to Live Collaboration — another OT shop's perspective
  • Google Wave retrospective — why the first mainstream OT product failed
  • Multiplayer software history — from games to collaboration tools
  • Real-time multiplayer indicators — presence systems that layer on top of OT
  • Visual collaboration guide — Mind Maps, Kanban, and outlines in practice

Frequently Asked Questions

What is the difference between OT and CRDT?

Operational Transform (OT) uses a central server to transform concurrent operations into a consistent order. Conflict-free Replicated Data Types (CRDTs) encode merge rules into the data structure itself so replicas converge without coordination. OT requires a server but gives deterministic conflict resolution. CRDTs work peer-to-peer but carry higher memory overhead from tombstones and vector clocks.

Which is better for real-time collaboration, OT or CRDT?

It depends on your architecture. OT is better for centralized, server-authoritative apps like Google Docs or Taskade where you want deterministic conflict resolution and low memory overhead. CRDTs are better for offline-first and peer-to-peer apps like local-first note-taking tools where users need to work without a server.

Why did Google Docs choose OT instead of CRDT?

Google Docs uses OT because it runs a centralized server model. With a server as the single source of truth, OT only needs to satisfy CP1 and TP1 convergence properties, which is simpler than the full decentralized convergence that CRDTs solve. The server orders all operations, eliminating the need for tombstones, vector clocks, or conflict-free merge semantics.

Do CRDTs use more memory than OT?

Yes. CRDTs store metadata per character or per element — typically 16 to 32 bytes of overhead per character for text CRDTs (tombstones, unique IDs, vector clocks). OT stores only the current document state plus a revision number. For a 10,000-node project, a CRDT can use 10 to 50 times more memory than OT depending on edit history.

Can CRDTs work offline while OT cannot?

CRDTs are designed for offline and peer-to-peer use cases. Each replica carries enough metadata to merge independently when reconnected. OT traditionally requires a server to transform operations, making pure offline use harder. However, modern OT systems buffer local changes and replay them on reconnection, providing a practical offline experience for most SaaS collaboration tools.

What is the AI agent velocity problem in multiplayer documents?

AI agents generate text at 1,000 to 4,000 words per minute — 25 to 100 times faster than a human typist at 40 WPM. This velocity mismatch floods OT servers with operations and can starve human cursors of bandwidth. Both OT and CRDT systems must implement operation batching, rate limiting, or dedicated agent channels to handle AI-speed edits without degrading the human editing experience.

What are the main CRDT frameworks available in 2026?

The leading CRDT frameworks in 2026 are Yjs (most popular, used by Notion and Jupyter), Automerge (academic roots from Kleppmann's research), and Diamond Types (Rust-based, high performance). Eg-walker from Gentle and Kleppmann is a 2024 hybrid that bridges OT and CRDT performance characteristics. Liveblocks and PartyKit offer hosted CRDT infrastructure as a service.

Is OT outdated in 2026?

No. OT powers Google Docs, Figma, Taskade, and most production collaboration software in 2026. The narrative that CRDTs replaced OT is misleading. CRDTs solved a different problem — decentralized sync — that most SaaS products do not need. OT remains the pragmatic choice for centralized, server-authoritative architectures where deterministic conflict resolution and low memory overhead matter.

How does Taskade handle real-time collaboration across 7 project views?

Taskade stores every document as a JSONB node tree. The same tree renders across 7 views — List, Board, Calendar, Table, Mind Map, Gantt, and Org Chart. OT operations transform against concurrent edits on the server, then broadcast to all clients. A card drag in Board view updates the Gantt timeline and Mind Map branch simultaneously because all views read from the same synced tree.

Should I use OT or CRDT for my new multiplayer app?

Use OT if you have a centralized server, need deterministic conflict resolution, and want minimal memory overhead. Use CRDTs if you need offline-first, peer-to-peer sync, or your users work disconnected for extended periods. For most SaaS apps with a backend, OT is simpler to implement and cheaper to operate. For local-first desktop apps, CRDTs are the natural fit.

0%

On this page

IntroductionWhat Is Operational Transform (OT)?The V=AXY Client State ModelWhat Are CRDTs?OT vs CRDT: Head-to-Head ComparisonMemory Overhead: The NumbersThe Architecture Decision: Centralized vs DecentralizedWhy Centralized OT Is Simpler Than You ThinkOT for Structured Data: The Hard Problem Nobody Talks AboutThe Eight Operation TypesConflict Resolution: Three Real ScenariosScenario 1: Simultaneous Kanban DragScenario 2: Edit While ReparentingScenario 3: Delete While EditingThe AI Agent Velocity MismatchHow We Handle ItFramework and Library Comparison (2026)Taskade's Approach: OT for the Entire WorkspacePricing and AccessTransport Architecture: Why Three SystemsLessons from Eight Years in Production1. Start Simple, Stay Simple2. The Multi-View Problem Compounds3. Undo/Redo Is the Hardest Problem4. Testing OT Is Brutally Hard5. Rich Text Is a Separate OT Domain6. Convergence Bugs Are Data CorruptionWhen to Choose OTWhen to Choose CRDTsThe 2026 Landscape: Convergence of OT and CRDTThe Lineage: 37 Years From Ellis-Gibbs to Taskade GenesisThe Aaron Iba Lineage ReceiptJoseph Gentle's Three-Essay Reversal — In ContextWhy AI Agents Tip the Balance Back Toward OTThe Workspace Where Humans, Agents, and EVE Share One OT WireGenesis Capability Map — From the May 2026 NewslettersThe Full Workspace-Software Lineage SeriesGetting Started: Build Multiplayer with Taskade GenesisFurther ReadingFrequently Asked Questions

Related Articles

History of Real-Time Collaboration: Engelbart 1968 to AI Agents 2026
May 8, 2026AI

History of Real-Time Collaboration: From Engelbart's Mother of All Demos to AI Agents (2026)

A 58-year line from Engelbart's NLS to Etherpad to Google Wave to Taskade Genesis. The complete history of real-time col...

History of CRDTs: from Lamport clocks to Diamond Types and Peritext
May 9, 2026AI

History of CRDTs: How Math Beat the Distributed Systems Problem (2026)

The complete history of Conflict-free Replicated Data Types — from Leslie Lamport's 1978 clocks to Shapiro's 2011 CRDT p...

Shield icon representing durable execution and fault-tolerant AI workflow architecture
April 28, 2026AI

Durable Execution for AI Workflows: Patterns from Building 3M Automations (2026)

How Taskade runs reliable AI agent orchestration and automation pipelines on a durable execution foundation — patterns, ...

Multi-layer search architecture combining full-text BM25, semantic HNSW vectors, and OCR in one system
April 28, 2026AI

Multi-Layer Search: Combining Full-Text, Semantic HNSW, and OCR in One System (2026)

How Taskade combines OpenSearch full-text, 1536-dim HNSW semantic vectors, and file content OCR into a single permission...

Diagram of the Workspace DNA feedback loop showing Memory, Intelligence, and Execution strands
April 28, 2026AI

The Workspace DNA Architecture: Building Software That Gets Smarter (2026)

How Taskade's Workspace DNA — Memory, Intelligence, and Execution — creates a self-reinforcing loop where software gets ...

Multi-agent collaboration architecture with memory types and orchestration patterns
April 26, 2026AI

Multi-Agent Collaboration in Production: Lessons from 500,000+ Agent Deployments (2026)

How Taskade orchestrates multi-agent collaboration with 5 memory types, credit-based model selection, and agentic loop p...

View All Articles
OT vs CRDT in 2026: Multiplayer Algorithm Guide | Taskade Blog