oRPC
Contract-first, end-to-end typed RPC between the web app and the API. No hand-written REST, no schema drift.
Why it's here
We picked oRPC so the client and server share one contract. You declare each procedure once, and the web app calls it through a fully typed client. Rename a field and the compiler finds every call site.
What to know
- Contracts live in
packages/backend-contract, shared by both apps. - Inputs are validated against the contract, so handlers receive data that is already the right shape.
- The web app imports a typed client, there is no code generation step and no REST endpoints to maintain.
Full documentation lives at orpc.unnoq.com.