Conjure: simple, polyglot RPC
summary
Palantir builds a tiny JSON-first RPC spec, Conjure, and generates idiomatic clients for Java, TypeScript, Python, Go and Rust so services stop arguing about date formats, nulls, or URL encodings. It starts 2013 as a compatibility layer over existing HTTP/JSON endpoints, gains a self-hosting compiler (moving the TypeScript compiler cuts code complexity ~75%), and becomes the org-wide surface: roughly 500+ APIs and thousands of internal and customer users. The system proves practical, enables automated compatibility checks and bridges to gRPC or GraphQL when needed.
AI-written summary · about
chapters (18)
- 0:00Introduction to Palantir
- 1:11Company mission and examples
- 3:19Early RPC challenges with microservices
- 8:14Problems with inconsistent APIs
- 9:39Why not use existing RPC systems
- 11:05Birth of Conjure RPC system
- 12:11Conjure API definition basics
- 15:17Developer tools and integration
- 16:44Using Conjure in Java and TypeScript
- 17:46Implementing Conjure internals
- 19:09Fun things to do with Conjure
- 19:51Self-hosting Conjure compilers
- 21:37Future-proofing with Conjure
- 23:21Migrating to gRPC via Conjure
- 24:44API compatibility and documentation
- 25:48Conjure today and adoption
- 26:30Lessons learned from Conjure
- 27:55Final thoughts and Q&A








