# Testimonials / Love

> 

Do you love or hate tRPC? Feel free to ping [@alexdotjs on Twitter](https://twitter.com/alexdotjs)

## From Twitter

> For more testimonials, see this Twitter collection: https://twitter.com/alexdotjs/timelines/1441435105910796291

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/mattpocockuk"><img class="tweet-avatar" src="https://github.com/mattpocock.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Matt Pocock</span><span class="tweet-username">@mattpocockuk</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/mattpocockuk/status/1537761528962764802">Tried out trpc for the first time yesterday. The fact that you get type safety WITHOUT codegen is extremely compelling. It makes the feedback loop very very fast.<br /><br />Sort of wishing I had used this instead of graphql for my last project.<br /><a href="https://twitter.com/trpcio/status/1537719366908792832">twitter.com/trpcio/status/1537719366908792832</a></blockquote>
<div class="tweet-meta"><a href="https://twitter.com/mattpocockuk/status/1537761528962764802"><time datetime="2022-06-17T11:38:13.000Z">11:38 AM · Jun 17, 2022</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/mattpocockuk/status/1537761528962764802">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/TkDodo"><img class="tweet-avatar" src="https://github.com/TkDodo.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Dominik 🇺🇦</span><span class="tweet-username">@TkDodo</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/TkDodo/status/1573391189373751297">That being said, we _are_ starting a production project right now, and we're using <a href="https://twitter.com/nextjs">@nextjs</a> with <a href="https://twitter.com/trpcio">@trpcio</a> . It's so good I don't even know where to start 🔥. Probably with the e2e type-safety 😍<br />Haven't thought about client state much but the former probably applies.</blockquote>
<div class="tweet-meta"><a href="https://twitter.com/TkDodo/status/1573391189373751297"><time datetime="2022-09-23T19:17:46.000Z">7:17 PM · Sep 23, 2022</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/TkDodo/status/1573391189373751297">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/theo"><img class="tweet-avatar" src="https://github.com/t3dotgg.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Theo - t3.gg</span><span class="tweet-username">@theo</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/theo/status/1571922456239284224">The amount that tRPC has improved the quality of our code, the speed of our delivery, and the happiness of our devs is hard to comprehend.<br /><br />I know I shill it a lot but seriously, please try <a href="https://twitter.com/trpcio">@trpcio</a></blockquote>
<div class="tweet-meta"><a href="https://twitter.com/theo/status/1571922456239284224"><time datetime="2022-09-19T18:01:33.000Z">6:01 PM · Sep 19, 2022</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/theo/status/1571922456239284224">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/ralex1993"><img class="tweet-avatar" src="https://github.com/alexanderson1993.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">R. Alex Anderson 🚀</span><span class="tweet-username">@ralex1993</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/ralex1993/status/1556619478556876802">I've used <a href="https://twitter.com/trpcio">@trpcio</a> for exactly 5 seconds, and I can already tell - it is the _best_ way to consume first-party APIs with React Query. <br /><br />Why? The &quot;t&quot; - TypeScript means you get end-to-end type safety PLUS auto-complete for your query keys everywhere, like `invalidateQueries`.</blockquote>
<div class="tweet-meta"><a href="https://twitter.com/ralex1993/status/1556619478556876802"><time datetime="2022-08-08T12:32:58.000Z">12:32 PM · Aug 8, 2022</time></a><span aria-hidden="true"> · </span><a class="tweet-archive" href="https://web.archive.org/web/20220808123409/https://twitter.com/ralex1993/status/1556619478556876802">Archived copy</a></div>
<div class="tweet-footer"><a href="https://twitter.com/ralex1993/status/1556619478556876802">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/mgechev"><img class="tweet-avatar" src="https://github.com/mgechev.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Minko Gechev</span><span class="tweet-username">@mgechev</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/mgechev/status/1549140656752234496">tRPC - Safe API between your client and server 🔥<br /><br />I *LOVE* this project!<br /><br />If you're building your client and server with TypeScript, tRPC allows you to have static verification of your communication protocol with *zero* overhead on the client.<br /><br /><a href="https://github.com/trpc/trpc">github.com/trpc/trpc</a></blockquote>
<div class="tweet-meta"><a href="https://twitter.com/mgechev/status/1549140656752234496"><time datetime="2022-07-18T21:14:48.000Z">9:14 PM · Jul 18, 2022</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/mgechev/status/1549140656752234496">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/tannerlinsley"><img class="tweet-avatar" src="https://github.com/tannerlinsley.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Tanner Linsley</span><span class="tweet-username">@tannerlinsley</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/tannerlinsley/status/1507753424187650048">tRPC is super cool. Mucho magic there and good magic at that.</blockquote>
<div class="tweet-meta"><a href="https://twitter.com/tannerlinsley/status/1507753424187650048"><time datetime="2022-03-26T16:16:43.000Z">4:16 PM · Mar 26, 2022</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/tannerlinsley/status/1507753424187650048">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/marcusradell"><img class="tweet-avatar" src="https://github.com/marcusradell.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Marcus Rådell 🦀</span><span class="tweet-username">@marcusradell</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/marcusradell/status/1402991694446952458">Hah, we just did our first endpoint, returned some mock data from a resolver and got instant autocomplete in the client. Everyone's heads went 🤯🥳</blockquote>
<div class="tweet-meta"><a href="https://twitter.com/marcusradell/status/1402991694446952458"><time datetime="2021-06-10T14:11:00.000Z">2:11 PM · Jun 10, 2021</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/marcusradell/status/1402991694446952458">Read more on Twitter</a></div>
</figure>

<figure class="tweet">
<div class="tweet-header"><a class="tweet-author" href="https://twitter.com/colinhacks"><img class="tweet-avatar" src="https://github.com/colinhacks.png" alt="" width="48" height="48" loading="lazy" /><span class="tweet-author-names"><span class="tweet-name">Colin McDonnell</span><span class="tweet-username">@colinhacks</span></span></a><svg class="tweet-bird" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" /></svg></div>
<blockquote class="tweet-text" cite="https://twitter.com/colinhacks/status/1629950516242313216">for my money, Zod + <a href="https://twitter.com/HookForm">@HookForm</a> + tRPC has been the best stack for building typesafe forms for nearly three years now  <br /><br />what are the other challengers?<br /><a href="https://twitter.com/Hicksyfern/status/1629931362403713024">twitter.com/Hicksyfern/status/1629931362403713024</a></blockquote>
<div class="tweet-meta"><a href="https://twitter.com/colinhacks/status/1629950516242313216"><time datetime="2023-02-26T21:04:20.000Z">9:04 PM · Feb 26, 2023</time></a></div>
<div class="tweet-footer"><a href="https://twitter.com/colinhacks/status/1629950516242313216">Read more on Twitter</a></div>
</figure>

## From GitHub

<blockquote class="github-comment">
  <p lang="en" dir="ltr">
    We built a nextjs website with trpc and it has worked wonderful 🙌 
    <em>[...]</em>
  </p>
  &mdash; cNille 
  <a href="https://github.com/trpc/trpc/issues/775#issue-966343527">
    Aug 11, 2021
  </a>
</blockquote>

<blockquote class="github-comment">
  <p lang="en" dir="ltr">
    Hi - have just started using trpc and it is 👌 <em>[...]</em>
  </p>
  &mdash; mmkal
  <a href="https://github.com/trpc/trpc/issues/703#issue-950972268">
    July 22, 2021
  </a>
</blockquote>

<blockquote class="github-comment">
  <p lang="en" dir="ltr">
    Hey @KATT - love the approach you have taken with this. Proper type sharing
    in Next.js projects is something I have been trying to achieve for a while
    and your solution here ticks all the boxes. <em>[...]</em>
  </p>
  &mdash; dangreaves
  <a href="https://github.com/trpc/trpc/discussions/455#discussion-3392848">
    June 2, 2021
  </a>
</blockquote>

<blockquote class="github-comment">
  <p lang="en" dir="ltr">
    First of all I want to say thank you very much for making this library! I
    was already looking for a library like this for quite some time. 
    <em>[...]</em>
  </p>
  &mdash; simonedelmann
  <a href="https://github.com/trpc/trpc/issues/378#issue-893740950">
    May 17, 2021
  </a>
</blockquote>

<blockquote class="github-comment">
  <p lang="en" dir="ltr">
    Hi there, thanks for this library! I'm checking it out and appreciate how it
    feels like a much more lightweight approach to my typical
    Prisma-Nexus-Apollo-GQL Codegen stack. <em>[...]</em>
  </p>
  &mdash; lostfictions
  <a href="https://github.com/trpc/trpc/pull/712#issue-696293837">
    June 24, 2021
  </a>
</blockquote>

<blockquote class="github-comment">
  <p lang="en" dir="ltr">
    Thank you for the quick fix and the amazing project 💯
  </p>
  &mdash; mgranderath
  <a href="https://github.com/trpc/trpc/issues/331#issuecomment-831263018">
    May 3, 2021
  </a>
</blockquote>
