| Last week Cloudflare released Cap'n Web [1], a schema-free capability-based RPC protocol. I built capn-rs this week - a Rust implementation with full wire protocol compatibility.
Links: GitHub: https://github.com/currentspace/capn-rs
Crates: https://crates.io/crates/capnweb-server
API docs: https://docs.rs/capnweb-server What's working: Wire compatibility verified via integration tests against TypeScript reference
Multi-transport: HTTP batch, WebSocket, WebTransport (HTTP/3)
Complete IL (intermediate language) expression evaluator
Promise pipelining with dependency resolution
Comprehensive test coverage The interesting design challenge was mapping Cap'n Web's record-replay .map() semantics to Rust's type system while maintaining ergonomic APIs. Cap'n Web records operations on placeholder values to build execution plans - in Rust this became a clean builder pattern with type-level guarantees.
Built this as an experiment with Claude Code for porting complex protocols. The AI handled mechanical translation well, but architectural decisions (especially around async/await patterns and lifetime management) required human judgment.
This is early days - I'd especially appreciate feedback on API ergonomics and any edge cases I might have missed. Also happy to discuss the protocol design or the AI-assisted development experience. [1] https://news.ycombinator.com/item?id=45332883 |
Also I don't know what the rush is to get a shiny new Rust implementation out asap that you need to vibe code the entire thing.
The Github stars couldn't be that serious.
Also the disclaimer at the end "Built with <3 in Rust. Ready for production use.";
Ready for production use is a strong strong claim when the entire thing is vibe-coded.