Dominik Dorfmeister - TkDodo
@TkDodo
Frontend Engineer / Open Source Maintainer

Dominik
Dorfmeister

The man who makes React data fetching make sense.

An Austrian software engineer who turned answering the same question three times into a publishing philosophy - and built one of the most-read technical blogs in the React world. TkDodo maintains TanStack Query, works at Sentry, and has quietly become the person developers trust when asynchronous state gets weird.

React Query TanStack TypeScript Vienna, Austria Sentry
~20%
React apps use TanStack Query
3.5+
Years as Core Maintainer
56+
GitHub Repositories
3x
Questions before he blogs

The Question Answerer Who Became the Answer

There is a version of open source heroism where someone writes the library from scratch in a weekend, ships v1.0 to thunderous applause, and disappears. Dominik Dorfmeister is not that person. He showed up after the party started, started answering questions on Twitter and Stack Overflow, and kept showing up - until one day he was the person everyone else deferred to.

That is the TkDodo story. In 2020, Dominik started spending serious time in the TanStack Query (then React Query) community. Not as an employee, not on a mandate, but because he found the work interesting and the questions were good ones. He helped people debug their cache behavior. He explained why certain patterns were subtly wrong. He answered the same questions enough times that writing them down stopped being optional.

His blog at tkdodo.eu is built on a deceptively honest principle: "If I get a question three times, I write the answer down." No trend-chasing, no hot takes for engagement. Just a living archive of the things developers genuinely get stuck on - filtered by frequency, polished by repetition, and written with the confidence of someone who has seen every edge case.

The result is a body of work that feels less like a tutorial site and more like a well-maintained field manual. Posts like "Practical React Query," "React Query as a State Manager," and "Effective React Query Keys" have become standard references - the kind of link that gets dropped in code review comments worldwide.

If I get a question three times, I write the answer down.
- Dominik Dorfmeister (TkDodo), on his blogging philosophy

Maintaining the Library That Data Fetching Built

TanStack Query - formerly React Query before Tanner Linsley's TanStack universe expanded to cover Svelte, Solid, and Vue - is not a small project. It appears in nearly one in five React applications worldwide. It is the quiet infrastructure under a significant fraction of the modern web. Dominik has been a core maintainer of this project for more than three and a half years.

Maintainership at this scale is less about writing code and more about making decisions carefully. Which feature requests get implemented, which patterns get encouraged, which documentation gets written first. Dominik has been the person thinking through those choices - focusing especially on React and Svelte support, API design, and the community education layer that most library maintainers skip entirely.

The education layer matters enormously here. TanStack Query's core concept - that server state is fundamentally different from client state and deserves its own management primitive - is genuinely non-obvious. Dominik's blog posts and conference talks exist to make that concept click. When he says "React Query is not a data fetching library, it's an async state manager," he is not being pedantic. He is drawing a distinction that changes how developers architect applications.

In 2023, he co-created the official TanStack React Query course at query.gg with Fireship, turning years of community education into a structured, canonical learning path. The course represents the closest thing to an official "how to think about TanStack Query" curriculum.

🎯
Server State vs Client State
Dominik's most-repeated insight: server state has different properties than UI state. It's asynchronous, shared, potentially stale, and needs its own management layer. This distinction is the foundation of everything TanStack Query does.
🔑
Query Key Philosophy
His writing on effective query keys - treating them as dependency arrays, structuring them hierarchically - changed how an entire generation of developers manages cache invalidation. Practical, systematic, no magic.
📝
The 3x Rule
Only write about something after encountering the question at least three times. This filter produces content that solves real, recurring problems rather than theoretical ones - and explains why his blog hits differently than most tech writing.

Sentry, Stage Time, and Staying Practical

Dominik now works as a Frontend Engineer at Sentry - the error monitoring and performance platform - while continuing to maintain TanStack Query on the side. The combination is not accidental. Sentry is deeply embedded in production React applications, which means the engineering problems Dominik works on daily are the same ones his library's users encounter.

He has also become a regular presence on the international conference circuit. "React Query API Design - Lessons Learned" at React Advanced London 2024. "React Query - The Bad Parts" at React Day Berlin 2024. A forthcoming talk and workshop at ReactParis 2026. These are not repeat-the-docs presentations; they are the kind of talks that expose the decision-making process behind an API - the wrong turns, the tradeoffs, the things the maintainer wishes developers understood.

One of his React Prague appearances introduced something different: "Decluttering Sentry: One Knip at a Time" - a talk about using Knip, a TypeScript dead code finder, to remove unused exports and dependencies at scale. It is a glimpse into how Dominik thinks about codebases as systems, not just as feature delivery vehicles.

React Query is not a data fetching library - it's an async state manager.
- Dominik Dorfmeister, reframing how developers think about TanStack Query

Remeda, TypeScript, and the Utility Drawer

TanStack Query is the main stage, but Dominik also maintains Remeda - a TypeScript-first utility library that tries to combine the best ideas from Lodash and Ramda without the TypeScript friction of either. It supports both data-first and data-last calling styles, ships with deep TypeScript inference, and exists because the existing options made type-safe functional programming more annoying than it needed to be.

Remeda is a small window into how Dominik approaches problems generally: find the thing that is more complicated than it needs to be, understand why it is that way, and build something cleaner. Not because cleaner is aesthetically satisfying, but because developers will make fewer mistakes with it.

Across blog posts, conference talks, podcast appearances on PodRocket and the Modern Web Podcast, and daily presence in the TanStack Discord, there is a consistent throughline: explain the why, not just the how. Make the mental model accessible. Trust that developers who understand the system will make better decisions than developers who just memorize the API.

Fun Fact
TanStack Query is embedded in nearly 1 in 5 React applications worldwide. That is a library Dominik helps maintain while working a full-time engineering job. Open source at scale, without the VC backstory.
Origin Story
His open source journey started in 2020 by simply answering questions in a Discord server and on Twitter. No formal role. No permission. Just showing up until showing up became the job.

How TkDodo Happened

2010s
Spends 10+ years working as a Full Stack Developer, building web applications and accumulating production experience across the stack.
2020
Discovers a passion for open source. Begins answering React Query questions on Twitter, Stack Overflow, and the TanStack Discord. Community recognition grows organically.
2021
Launches TkDodo's blog at tkdodo.eu. The "Practical React Query" series begins. Becomes a core maintainer of TanStack Query.
2022-2023
Recognized widely as a primary educator and technical voice for the TanStack Query ecosystem. Blog traffic grows as posts become standard references in code reviews and developer forums.
2023
Co-creates the official TanStack React Query course at query.gg with Fireship - the canonical structured curriculum for the library.
2024
Joins Sentry as Frontend Engineer. Speaks at React Advanced London ("API Design - Lessons Learned") and React Day Berlin ("The Bad Parts"). Continues TanStack Query maintainership.
2025-2026
Scheduled for React Prague 2025 and ReactParis 2026 (talk + workshop). Continues building at the intersection of library maintenance, developer education, and production engineering.

The Receipts

  • Core maintainer of TanStack Query for 3.5+ years - a library used in ~20% of all React applications
  • Co-created the official TanStack React Query course at query.gg (with Fireship)
  • Speaker at React Advanced London, React Day Berlin, React Prague, and ReactParis
  • Author of "Practical React Query" - one of the most widely referenced React tutorial series
  • Maintainer of Remeda, a TypeScript-first utility library combining Lodash and Ramda philosophies
  • Regular podcast guest on PodRocket and Modern Web Podcast
  • 56+ public GitHub repositories under the TkDodo handle
  • Built a global technical following through English-language writing from Vienna, Austria

Opinionated, But Show Your Work

Dominik's blog posts are not neutral. He has views on how React state should be managed, on which patterns are subtly harmful, on when useCallback is actually useless (often, apparently). But the opinions are supported - by examples, by production behavior, by an understanding of what happens when you apply a pattern at scale.

He describes most of his posts as having "an opinionated point of view." This is not arrogance; it is a feature. Developers reading documentation want to know what to do. They can handle disagreement if the reasoning is visible. Dominik's writing trusts readers to think, while also giving them a clear starting position.

The practical effect is a blog that reads like advice from a well-informed colleague rather than a marketing exercise or an academic paper. It is direct, it has a point, and it does not waste your time.

🧩
Pragmatic Problem Solver
Does not reach for abstractions until the problem is understood. Writes about real developer pain, not theoretical elegance.
🎓
Community Educator
Spends significant time in Discord, Twitter, and Stack Overflow not because it scales, but because it is how you stay connected to actual problems.
🔓
Open Source by Choice
Started contributing without a salary or formal role. The work earned the title. That sequencing matters.

Where TkDodo Lives Online

Share This Profile