The Problem


If you're building a full-stack app with JavaScript on both ends, you've got options. tRPC, Next.js server actions, Remix loaders—these let you share types directly between frontend and backend. Nice.

But if your backend is Kotlin, Go, Rust, or anything that isn't JavaScript? You're back to the old problem. The backend team nests...