Fate: A modern data client for React and tRPC

React devs fall for “Fate” while the F-name jokes fly

TLDR: Fate is a new React data tool blending Relay’s smart caching with tRPC’s simple, type‑safe server calls. Comments range from breathless hype and F-name jokes to a push for contract‑first orpc, hinting at a fresh round of GraphQL vs. RPC drama—and why devs are watching closely.

A former Facebook engineer just dropped Fate, a new tool that promises the best bits of Facebook’s Relay and the simplicity of talking to servers with tRPC (a type‑safe way apps and servers chat). Translation: fewer headaches when your app fetches, updates, and displays data. The pitch? Make messy loading screens and error checks less painful, and stop doing those hand‑crafted “fix the cache” rituals after every change.

But the real show is the comment section. Relay diehards are swooning, with one fan cheering that Relay’s smart ideas are finally breaking out of the GraphQL bubble. Meanwhile, the naming meme took off: another commenter teased the React tradition of “everything starts with F”—Fiber, Fizz, Flight… Fate. The vibe is half hype, half inside joke. And then there’s a mini‑tug‑of‑war: one voice asked for love for orpc and “contract‑first” design (basically writing the agreement between app and server up front), hinting that not everyone wants tRPC running the show.

The crowd ranges from “this looks excellent” to “bookmarking for a deep dive,” but the undercurrent is clear: Fate is poking the bear in the long‑running GraphQL vs. RPC debate—and doing it with just enough swagger to start a new chapter in React data drama.

Key Points

  • An initial alpha release of Fate, a data client for React and tRPC, is announced.
  • Fate combines view composition, normalized caching, data masking, Async React features, and tRPC type safety with a minimal, JavaScript-only API.
  • It adapts Relay’s ergonomics—such as co-located fragments and predictable caching—without requiring GraphQL’s type system and query language.
  • The article highlights shortcomings in common React data frameworks, including manual optimistic updates and complex cache management.
  • The author’s experience with React and Relay at Facebook and building apps with GraphQL/Relay informed the design and goals of Fate.

Hottest takes

“Is the package name a continuation of react team’s tradition to start react project names with the letter ‘f’?” — azangru
“some more love for orpc… prefer contract-first design” — ramon156
“Love this so much… Relay ideas spreading outside GraphQL” — sibeliuss
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.