Inspiration
Most AI coding tools today are single-player. One agent works on one codebase for one developer. But real software is built by teams.
We kept running into the same frustration. Tools like Cursor or Claude Code work well in isolation, but as soon as a second developer or a second agent touches the same project, problems appear: merge conflicts, stale context, duplicated work, and agents reasoning over outdated code.
We asked a simple question: what would AI development look like if it were truly multiplayer?
Instead of choosing one answer, we explored two fundamentally different approaches and built both.
What it does
Carets is a platform for multiplayer AI-powered development.
We built two systems.
Clawdal is a centralized approach that uses Claude Code and Modal. Multiple AI agents collaborate over a shared codebase. Developers can assign tasks, and agents reason over the latest state of the project, coordinate changes, and apply updates safely. Multiple agents can work on the same project simultaneously without stepping on each other or operating on stale context.
Clawdflare is a decentralized approach that uses Claude Code and Cloudflare. Each developer keeps their own independent repository. Carets continuously understands how projects relate to one another, extracts their public contracts, and automatically generates the glue code needed to connect them. When interfaces change, connectors update intelligently — without disrupting internal refactors.
Two architectures, one goal: collaborative AI development.
Challenges we ran into
Conflict resolution without Git. When multiple agents modify shared state at the same time, coordination becomes the core problem. Designing safe collaboration without deadlocks or race conditions required rethinking how changes are sequenced and validated.
Knowing when not to regenerate. Automatically connecting repositories is powerful, but naive regeneration would be disruptive and expensive. We had to build systems that understand meaningful interface changes and ignore noise.
Cross-language type mapping. Translating contracts across languages is not one-to-one. Optional types, unions, and nested generics require careful interpretation to preserve correctness.
Cost discipline. Multiplayer AI systems operate continuously. Making them economically viable required separating lightweight analysis from heavier generation.
Accomplishments that we're proud of
Built two fully working multiplayer AI architectures Enabled real time shared AI editing without Git conflicts Created automatic cross repository connector generation Designed a contract diff system that avoids unnecessary regeneration Implemented safe sandboxed test execution for AI written code Developed a polished CLI and live collaboration workflow Demonstrated cross language integration between Python and TypeScript
What we learned
Centralization is simpler to reason about because there is one source of truth. Decentralization better reflects how real teams work, since developers prefer owning their own repositories.
The hardest problem in multiplayer AI is not the AI itself. It is coordination. Locking, batching, debouncing, and state management are the real engineering challenges.
We also learned that using the right model for the right job matters. Fast lightweight models are ideal for high volume extraction. More powerful models should be reserved for high stakes generation.
What's next for Carets
Expand support to more programming languages, improve semantic diffing beyond exports and interfaces, add visual dashboards for agent activity and collaboration, introduce specialized agents for frontend, backend, and testing, harden security and authentication for production use, and run developer studies to measure productivity improvements.
Our long term vision is to make AI a first class collaborative teammate, not just a single player assistant.
Built With
- claude-api
- click
- cloudflare-durable-objects
- cloudflare-workers
- fastapi
- modal
- next.js
- python
- sqlite
- tailwind-css
- typescript
- websocket
Log in or sign up for Devpost to join the conversation.