Copy of PodRocket - TanStack AI - Jack Herrington === Paul: [00:00:00] Hi there, and welcome to PodRocket, a web development podcast brought to you by LogRocket. My name is Paul, and today I'm joined with the one and only Jack Herrington, and we're gonna talk about da da da. ~Hello, Jack.~ JAck: ~Hi~ Paul: ~We're talking about~ TanStack AI, which is a big thing, right? JAck: Yes, it is a big thing. ~Yeah. Yeah, no, it's our, it's our, ~our big foray into applied AI. So if you have an application and you want to have some sort of AI functionality in there, then you've got a couple of different options, but,~ like,~ I think the best one currently ~is, ~is TanStack AI. So I... Do you wanna start off with,~ like,~ what TanStack is? Or where do you wanna start? Paul: Yeah, like I think that might be a good base to start with. I also wanna make sure people listening who don't ~know you ~know you. Like Jack has been involved with TanStack forever. He's a maintainer. He's been there JAck: the last,~ well,~ two year, whoa, year and a half, two years, something like Paul: Oh, yeah, it adds up, right? It JAck: Yeah, it really does. Yeah Paul: and I'll just say my only understanding of TanStack AI is ~kind of ~what TanStack always [00:01:00] gives me, which is the antidote to whatever Vercel's doing. There's,~ like,~ the Vercel version, and there's the TanStack version. So I'm like, JAck: Oh, Paul: it's like Vercel AI, but it's,~ like,~ the one I'm gonna use 'cause it's like the TanStack AI." ~Um, ~ JAck: That's, like, actually the case in a bunch of cases. ~Like, ~we've got-- they've got SWR, and we've got the legendary React Query, which is on,~ like,~ 30% of all React apps. ~Uh, ~they've got,~ uh,~ Next.js, and we've got Tan Stack Start, which is a fantastic framework for building out your full stack web apps that has, supports all of ~the, ~the functionality you'd want, including but not limited to,~ like,~ React server components, server functions, the whole thing. And then they have the A-AI SDK, and we have our Tan Stack AI. And ~I mean, ~I think that's important,~ like,~ from just the positioning standpoint of Vercel, they sell you services, right? They sell you a way to mount, to host your Next.js application, and they also sell you an AI gateway, right? So they are incentivized to make, in [00:02:00] f- in fact, have made the default for AI SDK to use their AI gateway so that you pay them, and then they pay Anthropic or whatever ~Uh, ~we don't have a dog in that fight. We are a true neutral party. ~Uh, ~we support all the different AI vendors. So y- let me just talk about ~like what, ~what the AI SDK is or what AI SDKs do, and then we can talk about like the more of the specifics. But getting AI like a chatbot into your application probably seems like an easy thing to do, but there's a lot of nuance to it. So when you connect and make a query of an AI, like an LLM, large language model, you get back this stream of tokens. You don't get back like the chat message per se. You actually have to do a lot of work of ~like ~figuring out, okay, is this ch- token part of the message or is this part ~of a, ~of a tool call or all that sort of stuff. And it's very kinda... There's a lot of little nuances and complexities about ~like ~the way the tool calls are [00:03:00] done, whether they're done on a client or on the server, how to send the results back, how to do approvals, ~you know, ~all this kind of stuff. And so we handle all of that. You basically connect us to whatever your LLM is. It could be Anthropic, it could be OpenAI, it could be Ollama, it could be ~you know, ~whatever you want. ~Uh, ~or, and just an open A- AI standard LLM, and there's a lot of those too. ~ ~And then we'll go and do all of the work of converting that to a format called AGUI, which is like a standardized format for these messages. And then we'll do all the work on the front end to put it all together into a coherent stream so that then you can go ~a- ~a- and we do that headlessly, and then you can go and format that however you want in your application and make it look really good. But you really just have to deal with ~like ~the application logic, and we deal with all of the hoopla of getting that done. And then of course, on top of that, we do stuff like text-to-speech, speech-to-text, real time. You [00:04:00] know, we've pretty much got the whole gamut covered Paul: I think a lot of people listening probably would've tried the Vercel AI at some point, and so they're gonna listen to us talk about it. And ~a- ~as a listener, my first thing would be,~ well, what, ~what is like one poster child thing that the TanStack AI does that maybe I struggled with on the Vercel AI SDK side? And I know like the model message, LLM message mapping thing has always been a little bit difficult, but I'm wondering if there's like other things you guys have focused on and tried to put a stake in the ground to just make the software and the DevX better. JAck: Interesting. As all things are TanStack-wise, we're huge on TypeScript, so we spend a lot of time on the typing of models, the typing of their m- of their options and all of that. ~So, you know, ~we're completely up to date when it comes to you pick, ~you know, ~open AI model XX, you know what, and NN whatever, and then we'll tell you, "Here are all the parameters for it," and if ~you know, ~there are enums or whatever, we'll handle [00:05:00] all that for you. So that's one th- big thing that we've done. ~Um, ~another thing is type-safe tool calls. So when you do your tool calling stuff and you get back the data from the tool call and you want to format it, that's all type-safe. ~So, you of, ~that's one of the core tenets of all the TanStack stuff is ~we're, ~we're there to solve pain in the butt stuff. Like we, it started off with , the React table back in the days, ~you know, ~handling sorting and filtering and all that stuff, but doing it ~in a, ~in a very DX-friendly way. And so DX friendliness and also then type safety ~has been pretty much a standard across, well,~ is a standard across all of ~the, the, ~the TanStack libraries. I will say that we have other features that they do not at all. ~Uh, ~one in particular is code mode, and that is one, that is like ~my, ~my personal like favorite little Paul: Oh, we gotta hear about that one then JAck: Okay, so ~Here's what happens when-- So you want--~ There's a regular chat, right? And then there's an agent, and ~the, ~the distinguishing thing between a chat and an agent is that an agent has tool calls. So an agent can do things [00:06:00] like g- often want to use one of these tools to read a file or write a file or get the temperature outside. I don't know. There's a billion different ideas for tool calls, right? The problem with a tool call is that it's really inefficient. So what happens is you fire up ~your, ~your request. You say, "Hey, what is the temperature right here?" Blah, blah, blah, blah, blah. Actually, that's a classic one. It's like, you know, what's the temperature in Paris or whatever. And there's a get temperature tool, right? That it's supposed to call. ~Well, ~what-- how it actually works is you fire off that what's the temperature like in Paris, the user query, and then you give it some metadata about all the tools that are available, and then the LLM responds with, "Hey, I need you to call that function, get temperature, and here are the parameters." And then you do that work locally, and that's how that works. ~That's, ~that's how tool calls actually... They're not done over in OpenAI world. They're done in,~ like,~ your world. And then you take the result of that call and you put it back into the chat and then send [00:07:00] that back, and that's at the point where it can go and say, "Oh, well, the temperature in Paris is blah, blah, blah, blah," right? So you're getting all these round trips, and each one of those round trips is you're sending the entire chat transcript. So when you think about,~ like,~ compounding interest and ~the, ~the size of all these requests, like the moment that you're sending more and more and more ~tool c-~ tool calls on a really long conversation, like those context tokens are just bang, bang, bang, adding up. So it's really, really inefficient So what code mode does is code mode ~kind of ~flips the model. It says to the LLM, "You've got one tool. That tool is execute TypeScript." And then there's a lot of function... Now you can use anything in the TypeScript world, but there's all these injected functions in there, like get temperature or get the product catalog or get this product information or whatever. And then ~the, ~the customer types in like, "Hey, you know what? What's the average price of a shoe?" Or whatever. And then it writes TypeScript to actually go and [00:08:00] make those function calls out to those helper functions. But it can do stuff like for loops, async await, ~you know, ~promises, all that stuff. And so it can do like the entire query and it can customize the query by changing the, how, what TypeScript it writes because these LLMs are insanely good at writing TypeScript and then respond really quickly. And so like we've got this sort of side-by-side t- taste test of using code mode and regular tooling versus like a REST back end. And code mode just ab- absolutely obliterates the REST stuff because it's not doing all those little tool calls like going back and forth, back and forth, back and forth. It's just making that one shot call. And another cool thing about it, it self-heals because ~if, ~if it writes the wrong code or the code blows up, then that goes back to the LLM and the LLM says, "Oh, okay, I guess that didn't work. I'll try something else." And you can ~like ~see it like go through all these [00:09:00] machinations. So you're sort of using the code brain, ~you know, ~of the, in ~the, ~the mixture of experts. You're using the code expert in conjunction with ~the, ~the kind of logic expert in a really good way and really leveraging these LLMs to their best extent. ~And, and I've-- it's, ~it's something that,~ uh,~ Cloudflare initially got into and you can see it in Anthropic, like you can see it in Claude Desktop if you like ask a question. ~It, it'll actually like, ~in the background ~it's, ~it's writing code sometimes to like figure this stuff out. ~And so, you know, this is--~ but this is like we've handed it to you now, ~like ~and it's not bound to Anthropic and it's not bound to Cloudflare. You can use it on any model. We've tested a bunch of different models to tell you which ones are the best ones for it. ~So, you know, ~we're ~kind of ~giving all that coolness to you to try out. Paul: does this mean we can,~ uh,~ orchestrate the calling of MCPs with JAck: Heck yeah. Yeah. ~Yeah, ~yeah. Those little functions ~become, ~become injected in, yeah, those little injected MCP functions. ~This is actually something... Okay, uh, this is one thing that-- Sorry to interrupt you, but like, um, ~I just did this thing for Nx. It's a video, like they've got this vir-virtual conference, I think, around the 25th or something, and I did a video on using,~ uh,~ the Nx [00:10:00] MCP with CodeMode and injected those MCPs into CodeMode. ~So sorry, you were, you were saying with Dario~ Paul: ~But not Dario, um, Mario.~ JAck: ~Oh, Mario. Mario. Okay~ Paul: Mario says, ~uh... Well, the, ~the downfall of MCP, at least right now, is it's not composable. ~Um, ~that's the difference between CLIs and MCPs. ~Like, ~you could pipe into pipe into pipe into everywhere, and you essentially write a program on the fly. And that's why the CLIs, I've just found way more success ~until, ~until, for you Claude Code users out there, Claude Code came out with programmatic tool calling, okay? And I think this happened three months ago or four months ago. What is it? It's June 2026 right now. So when that came out, I don't know if anybody here noticed, but in your Claude Code, it would write scripts, and it would call tools, and it would do it,~ like,~ in suc- succession with itself. But that was, like, a Claude Code thing, and everybody was, like, freaking out. They were like, "Oh, my gosh, this is, like, crazy. They... Anthropic changed tool calling forever." And,~ like,~ so now you're s- saying, Jack, we can take that feature, that idea, JAck: Mm-hmm Paul: basically use it with any model, and we can use it in our own apps, in our own agentic runtime using 10-Stack AI. JAck: You could use it with an Ollama local [00:11:00] model. ~I mean, ~anything that's good at,~ at, ~doing code writing and having some reasoning capability is gonna be good with this. Faster, and faster the better. ~Like, ~we use Haiku for this stuff be- because it's just wild fast Paul: And if you get the mixture of experts seasoning ~on your, on your, ~on your steak, if you wanna think of it that way, haiku can go a long way, JAck: Oh, Haiku, Paul: at the right scope JAck: Absolutely. Yeah. ~I mean, ~and it, the crazy-- ~And, ~and as I say, it's ~very, ~very fast. So if you think about, "Oh man, it's gonna take forever for it to,~ like,~ write a TypeScript, ~you know, ~blob for this," it, it really cranks that stuff out. And the other cool thing about it is it's also really accurate. So ~the, ~the example that we do, like the average cost of a shoe, the reason that we picked that is because there's math involved, right? You gotta go and, ~you know, ~it's ~not, ~not high-end math, but it's math, right? Gotta add it all up and divide by the number of items. And every time the LLM with just regular tools gets it confidently wrong. ~It's like 100 and, you know, I, ~I think the right number is like [00:12:00] $137.25. I don't know. What a randomly number generated ~the, the, ~the price of all these shoes. But the right, there is a right number, right? Even with a random generation. And it gets it wrong confidently every time. But of course, code mode, because it's just TypeScript, gets it right every time. And the other cool thing it can do is we actually added onto it ~and, ~and we probably named this wrong. Like naming is like the number one rough thing. We called it code mode skills, and the idea is that ~if ~ Paul: ~I get it~ JAck: ~Okay, there you go.~ If code mode decides that ~it, it, ~this particular piece of TypeScript is worth it, ~like is, ~is actually interesting and is gonna be seeing this ~more, ~more than once, it can actually just store that off, and then the next time you ask for the average price of shoes, it's like it goes through its list of skills that it's got and says ~like, ~"Oh, I already know how to do this. Okay, pull it Paul: Oh, that's cool JAck: Send it. There you go." And it's, oh my God, so fast. It's crazy good. If you, so if you got like a dashboard, more like an ad hoc system, like if you got like data, you don't know exactly how you're gonna work with it and all that, like point code mode at it and ~it, ~it's beautiful Paul: Gosh, I [00:13:00] just made like an agentic system using Vercel AI SDK, and if I'm like thinking now, man, if I could have this little like ephemeral code sandbox to call the MCPs that I wired up... dude, this industry moves too fast for JAck: I know, right? ~It, ~it really does. And, oh, one... The other thing,~ we,~ we sit on top of multiple,~ um,~ execution, ~you know, ~s- sandboxes effectively. You can use the Node one, you can use Wasm. ~Uh, ~I think we also have a backend for Cloudflare if you wanna, ~you know, ~run it on a Cloudflare worker. ~So, you know, ~Actually, it'd be great if you tested that out, 'cause ~I, ~I don't, I haven't done a lot of that myself. ~But~ Paul: ~anything that can like... What were you gonna say?~ JAck: ~Oh, I, I've,~ but I've tested out ~the, ~the Qwik JS one and the Node one, which are... And they work Paul: ~I was gonna say~ I was gonna say anything that orchestrates Cloudflare for me and like makes~ like ~use of a kind of brittle execution environment in my experience. Like it's not brittle 'cause the infrastructure's bad, it's because like you gotta do things the Cloudflare way for their isolates and how th- how they work. ~Um, ~so if there's anything that's like, "Oh yeah, this like amazing free resource essentially that Cloudflare has for you schleps, like you can go [00:14:00] use it now,~ um,~ and we make it easy," that's great because,~ um,~ I don't wanna put my main app on a Cloudflare worker or something, but if I can make a use of workers to like build up my infrastructure, that's very appetizing JAck: Yeah, Paul: from a cost and a uptime perspective, yeah JAck: ~All right. And Matt, I mean, ~you've got claws, right? I think. Do you have some cl- some claws running? Paul: ~I, ~I'm a Hermes guy, but yeah, JAck: You're a Homer. Okay,~ same,~ same deal, right? ~I mean, ~you could imagine Hermes writing code on the fly for this and then running it in a Cloudflare worker. ~The, ~the trick really is though, like you gotta get access. ~It, ~it's gotta be able to call back to you for those functions, right? So Paul: Tunnels. They got JAck: Yeah, there you go. Tunnels. Paul: ~well ~code mode sounds... If I walked away with just the knowledge of code mode, I have enough FOMO to feel debased, which means we've done our job on this podcast ~of, of tout, ~of touting the features. But there's gotta be more, Jack, right? ~There's gotta be s- ~'cause you said there's, like, several cool DevX things you guys are working on. I'm not sure if there's another one that could rival [00:15:00] code mode JAck: I don't know about that. Um,~ ~ Paul: ~like,~ distinctly different from the Vercel suite JAck: ~I mean, ~if you listen to Alum, of course,~ it's like, you know, that, that~ he wants all of that. He's my co-maintainer on this. ~Um, we are recently--~ We are in the process now of going and adding in all of ~the agent, uh, yeah, the,~ the harness stuff. So yeah, you can get access to Claude Code, Codex, OpenCode,~ uh,~ Gemini CLI, all in the same,~ like,~ manner. And so that's, I think, a big win. We're go- we're going and adding some extra stuff onto that ~it's kind of an... In or-~ in order to really leverage that, you kind of also have to handle sandboxing as well, so we're, we're handling that as well. ~Um, ~ what was the other... I just, it was just my brain, and it just flew away. ~ What was it? Ugh, sorry. Okay.~ Paul: ~It'll come back. You know, you, you mentioned, um, proxying out to Claude. One thing that I have to ask about because... ~ JAck: ~AGUI, that's it. ~ Paul: ~got it. He recovered it. What is~ it. What is JAck: I got-- I recovered it. But it's a big one. It's huge, actually. so there's a standard out there called AGUI. So the... when you talk to an LLM, LLMs talk in,~ like,~ these chunks, right? So ~they, ~they send you a chunk that has ~like a, ~like a bit of ~the, ~the text coming back or whatever it is, and every [00:16:00] different LLM talks a different chunk format. And so what AGUI does is it basically says, "Okay, here's one format for all of those chunks," except that,~ like,~ none of the vendors have really picked up on this. So what we do is all of our adapters talk AGUI, and we committed to this standard. And then that AGUI standard goes all the way up to the client, and then the client processes these AGUI chunks, and that's what turns into your chat messages and all that. Now, the really cool thing is that you could have PHP on the back end. You could have Go on the back end. It doesn't need to be Node, right? But as long as it talks AGUI, you can use our clients, and our clients run the spectrum of React, Vue, you~ you know, ~all the rest of it. And so yeah,~ that's,~ that's a huge win right there. Oh, and one more. Although I think the AI SDK finally came out with this, maybe in response to us, I don't know. But,~ uh,~ we've [00:17:00] had dev tools on AI for a while, and you can get the whole chat conversation, you can see all the tool calls and all the rest of it. So even if you aren't rendering, like, all the tool calls and all that, you can actually go into your TanStack,~ uh, you know, ~dev panel and see all of that. Paul: Oh, nice. JAck: ~Um, ~Um, Paul: Those are, that's something I've had to build into all the other chats I've built, like a quick copy when you're in dev mode to get an XML printout of,~ like,~ the history. I'm just like, "I had to build this. Why? For,~ like,~ the fifth app time." Like, God. JAck: Yeah, and the cool thing about ~the, ~the Tanzac dev tool stuff is that you can actually just snap in your own dev tools if you've got something like, ~you know, ~custom to your app, like some sort of, I don't know, a store or whatever it is. You can go throw that in there as well, so you can kinda see ~the whole, ~the whole system. Paul: ~Uh, ~that's one thing I, one reason I keep coming back to TanStack too, is just ~the, ~the DevX. That's why I had to ask about the DevX, 'cause that's usually what keeps me in the land of the lazy,~ uh,~ in TanStack, 'cause it's just so easy to grab like logs in, in, in the,~ um,~ query inspector in the front end. [00:18:00] So that's where I'll find this, right? In the query inspector in that little like pop-up, JAck: You will, but it'll be all chunky, right? And so it's gonna be gnarly to look at it 'cause it's a stream as opposed to ~like ~an octet stream, as opposed to, ~you know, ~a single REST response. It's gonna be a bunch of that, which is okay. But at the same time,~ it, it's, ~it's a lot easier if you look in like the dev tooling and see, okay,~ so, you know, ~here's the whole ~tran- ~chat transcript, here was the tool calls, here are the inputs, here's the outputs, all that. Here's the approvals, all that. Yeah Paul: Now when it comes to,~ um, uh, ~Claude, you mentioned being able to like~ like ~use Claude,~ uh,~ with the agents just like 'cause you guys are model agnostic. That's coming. ~Okay. So one~ JAck: ~Yeah. And not, not far away, but like, you know, yeah~ Paul: ~I, and I know,~ so Matt Pocock came out with Sandcastle, which is that like agent orchestration, and I was like, "Oh my gosh, this is the greatest thing." ~Like, ~I'm gonna be able to like locally on my Mac make these super powerful Claude Code, Codex agent chains. And then Matt came out with his video detailing his frustration with Anthropic and how they changed the credit,~ um,~ billing if you use JAck: Oh, yes. Paul: it's Now like [00:19:00] paid over the API. And like I felt that ~when, ~when I go use the API or in credit mode, I'm like, "Wow, look at JAck: Oh, dude. Paul: just disappear, right? And what was it? 48 hours ago or 24 hours ago, they sent the email saying, "Psych, we're undoing that. We're actually not gonna do that. We're actually not gonna charge you the API money." Does this change anything with how TanStack and AI ~is, ~is reaching into these model providers? ~I, ~I guess this is more of a question of,~ um,~ what you think about that movement by Anthropic, and do you guys have any discretion about like hitting the Anthropic API raw and plain, just as most people would expect, versus using something like a Claude Code as a model provider, as a backend, if that... or if that has any value to you guys JAck: ~we s- ~we s- definitely support the raw mode. ~Like, ~that was the first thing we came out with, ~you know, ~hitting up the LLM ~at, at, ~at an endpoint space, and there you have to have your API key, right? And now we are adding in the agentic stuff, and it's important. ~Like, I, ~I think that there's real value there, 'cause [00:20:00] people underestimate ~the, the, ~the difficulty of creating a harness. ~Like, ~you can go and create tools for FS,~ uh, you know, ~you know, access, read file, write file, y- run this a- and run this CLI, blah, blah, blah, blah, blah. That ain't a harness, buddy. ~Like, ~there's a lot more to it than that. ~Like, ~there's a whole bunch of system prompting and sub-agents and all this kind of stuff. And then there's all the w- the kind of world of skills and everything else that CloudCode has added into its whole ecosystem, right? ~And, ~and the alerting and the remote access and all that. ~So, ~we don't wanna take that away from you if that's what you w- that's the way you wanna play. We just wanna give you an easy way to integrate that, ~you know, ~into whatever context you have, whether that's a CLI app or it's a n- native app, we have native support, or it's a web app or whatever. We're making that easy on you. ~Uh, ~but we don't wanna undo that. In terms of my personal opinion about,~ like, the, ~the whole thing with OpenAI and Anthropic both having this kind of dual billing mode, like you get... ~Like, ~k- [00:21:00] 'cause I've got Max, and then I've also got, ~you know, ~Anthropic API credits, right? Paul: ~Right. Right~ JAck: It's a pain, man. ~Like, I, ~I've always thought that was the most asinine thing ever. ~Like, ~it really is. It's double-dipping. It is, it's just brutal. And I can't not have those because,~ like,~ half of what I do depends on Anthropic keys and all that. So it's not like I can avoid having them, so I just have to have it, right? And then if I want to use Cl- uh,~ uh, ~the only thing I ~could, ~could get rid of was the OpenAI,~ like,~ mega $100 plan, which I was able to get rid of, 'cause I just don't, I don't use ChatGPT,~ like, in the, ~in the browser. But I still have to pay for ~Anthropic cr- uh, ~OpenAI credits. I still have to pay for Anthropic credits. I... That's one of the things,~ like,~ my wife looks at,~ like,~ the monthly charges, and half of it is, like, AI services. It's crazy. Paul: Yeah, same. JAck: It's crazy. Paul: ~I get, I, I def-~ I certainly get questioned. ~Um, ~and I'm in the camp of people that when Fatal came out, I think I spent,~ like, you know, ~3,000 or 4,000 on API credits, and then they took it away, and I'm just like,~ "Well, you know, ~this could all fit into my plan usage now." ~So, uh, ~I don't know why I just did that. Gotta explain [00:22:00] that one. Gotta explain that one, yeah. JAck: Wow. I didn't spend that much. ~Like, I, ~I actually... What's funny was I didn't know that Fable V was leaving or whatever, and ~there was this, like, we, ~we had just,~ uh,~ this chat in the AI channel about, "Hey, can we do X?" And so I just fired it up and I'm like, "Oh, I guess we'll give Fable V a run." And it went through my Max subscription, no problem. Paul: Oh yeah, like butter JAck: hours later it was done. But then eight hours after I started, there was, Fable was gone. So I was like, "Oh, my timing ~was, ~was absolutely great on that." Paul: Yeah, I was just trying to, like, run the insights skill to figure out what's wrong with my projects and all my projects, and there's a lot of projects, so it was just eating up all my credits. ~Um, well, ~so but anyway, back to Tanz.ai. So you guys d- to be clear, Jack, are, is there some way for Tanz.ai to orchestrate and use Claude Code, like the runtime, that harness as a back end, ~as a, ~as a provider JAck: That, that, not yet. That is, That Paul: yet, but coming. Okay. JAck: Yeah, Literally, like, the PR is gonna be in the next [00:23:00] couple of days ~and, ~and we'll get it out pretty quickly after that Paul: Amazing. Oh, I can't wait for that. Ah. JAck: But imagine Paul: build a harness on a harness JAck: Yeah, I haven't really thought about this yet, but like a Code Mode thing plus Claude Code? Paul: 'Cause Cloud Code has its own code mode JAck: I know. Yeah, right? Yeah. I don't know. That's pretty crazy Paul: But at least now it won't be a separate bill charge, and if we use Claude Code not with an API key, it'll be part of your subscription. JAck: Yes. Oh, I see. Like literally just like pumping rando like requests through it. ~Uh, ~yeah. Okay, you could. Sure. Paul: ~And, and at least ~ JAck: ~when I think about Claude Code, I think about like, you know... Well, ~that's actually one thing, and I don't know if this interests you or not, but,~ um, we are coming,~ we are throwing around this idea of doing like an in-place editor for sites ~ if you, ~if you bring up a TanStack, ~you know, ~create TanStack app kind of thing,~ um,~ when it pops up, if it's in developer mode and if it's, if you've got an Anthropic key lying around or Claude, or if we see Claude Code, we'll basically just put up ~a, ~a modeless dialogue that's like, "Hey, [00:24:00] you wanna just edit in place?" It'll allow you to select elements and then say, "Oh, change this to that," and blah, blah, blah, blah, blah. ~Like ~right in, in ~the, ~the app. Yeah. Paul: That would change so much for me. Are you kidding, Jack? That would change so much. 'Cause I think my whole life JAck: I'm glad that you like Paul: websites and then going to stakeholders and going, "Here you go." So the less that JAck: And if they're like, "Oh, well what about this?" You're like, "Okay, here, I'll just bring it up. Boop, boop, boop, boop, boop. Done. Paul: basically solved my consultancy problem,~ uh,~ for me if, if you guys come out with that. So please, JAck: Yeah. And it uses Cloud Code, right? ~We'll, ~ Paul: ~Ah. ~ JAck: ~have... Right. ~We'll have ~as, ~as an option,~ like,~ our own little mini harness, ~you know, ~that will have basic FS stuff, but it won't, it w- won't ever be as good as Cloud Code, just ~running, ~running Cloud Code in it, Paul: And you can do a lot in the Wasm container and environment. So~ So yeah, that, that would be awesome. Well, okay, I know we're, we're already 30 minutes into our pod here, and, um, I wanna make sure we give any, uh, cool features or things that you guys are working on now or in the future that we haven't talked about some screen time.~ ~So~ So is there anything we didn't hit on, Jack, that you think people should know about,~ um,~ as it pertains to like specialties with AI SDK or like where you guys are going roadmap-wise? JAck: I can't think of any right offhand. I mean, we've been pretty honestly talking about everything [00:25:00] we've got in the pipeline,~ um,~ which is great 'cause that's just what Tanzac is. ~You know, ~Tanzac is historically a really fun group of people who really care just about, ~you know, ~making life better for other developers. And so that, that just alone has been really fun to work with the people in there, ~so. Um, ~but in terms of like Tanzac AI, like I-- There's, as I say, like a lot of stuff around ~like, um, ~the harness stuff and,~ uh,~ sandboxes, but also some ~like, you know, ~UI stuff. ~Um, ~I think, I don't know if he's... Nah, I can't. Tanner's working on something, and I don't wanna like... Yeah, I don't want to say that, but Paul: What about like local orchestration of agents using TanStack AI? And I'm thinking of like Matt Pocock's Sandcastle project, where I can just ~kind of ~like use TypeScript to string together, "Hey, call Codex, and then call Claude,~ and,~ and then do this." And could you see a future where TanStack AI is hybrid? Like it's a SaaS offering,~ uh,~ or you... As a builder, I would use it in my SaaS offering, but then I could also use it to build like local workflows somehow, JAck: We do actually have [00:26:00] TanStack Workflow now. It's like the tiny little library that like popped out ~like ~three weeks ago. ~Um, ~I don't know if it's gotten a lot of traction yet, but ~it was, ~it was going to be-- It ~kind of ~came out of the AI project, but it's like this is an orthogonal concern to us, so it doesn't really make a whole lot of sense for it to be specific to AI. So yeah, TanStack Workflow is now its own thing, and in fact, I just did a video,~ uh,~ on the 17 different TanStack libraries or basically ecosystems, 'cause TanStack AI is more than just like a single library. It's a whole kind of little collection of little libraries. ~Um, ~and there's 17 of them, and this video, this actually brought all of them into a single app, and it actually remarkably worked quite well. But that was one of the things that I did was,~ uh,~ I took Workflow and I extended a tool with it. So like the tool was, hey, go and add, I don't know, whatever, something to something, and ~it, ~it did like a four-step process, and it orchestrated it all using a workflow. Paul: Oh, [00:27:00] nice JAck: Yeah. Yeah. I think it's still pretty nascent, so any feedback you have on it would be great as to like your wants and all that. It's definitely not at the level of like an ingest or something like that that's got like a full infrastructure and all the fallbacks and all that. Paul: ~Well, good. I think, um,~ I think we could probably call it here then ~and say, ~and say to the people, "Look, if you're interested in some more fully owned,~ uh,~ AI workflows and orchestration for your app, check out TanStack AI." You can use code mode. You can use some of the best features that you guys have been looking at the other harnesses and bring them right in. And where would people go, Jack,~ to,~ to check this out? Is there a TanStack AI specific page? Is JAck: tanstack.com/ai.~ ~ ~You know,~ it's pretty, pretty easy to remember there, tanstack.com/ai. And of course, you know,~ we are-- we, ~we don't have a service. We don't... We're not an API gateway or any of that. We are literally just a bunch of developers who work full-time jobs, not on TanStack, [00:28:00] and then it's all sponsorship income that keeps the thing afloat. ~So, you know, ~if you are at a company that uses TanStack extensively, ~you know, ~tell your boss,~ like,~ "Hey, we should probably, ~you know, ~support this ecosystem." Because it, it's one of ~the, ~the very few remaining ones out there. And so if you want, if you wanna see a l- a long-term alternative to like Next.js, the AI SDK, like we're the folks that are bringing that to you Paul: a good message. I feel like we haven't made that message public at the end of Jack, of podcasts of Jack. ~Uh, ~so there you go. Like, yeah, ~that's a, ~that's a good thing to call out. JAck: ~Yeah, I should do ~ Paul: ~user of, of the Tan Stack, yeah, you should~ JAck: ~I '~ Paul: ~cause it is a dying space and you guys are still there~ JAck: Right? You know, was it Astro got bought out and just recently, yeah, Bun got bought, and then there was one more just the last couple weeks got bought. ~And it, it like the, the-- ~every time that happens, the news is like, "And there's only ~like ~two of these ones left, and Tan- there's TanStack," and like whatever. There's one other, and you're like, "Yeah, okay. This is pretty crazy." I mean, I get it, but still. Oof. Paul: ~If you want to hear us talk more about open source, you can look at the PodRocket panel, which we have once a month, and Jack's on there, I'm on~ JAck: ~There it i-- yeah, love it~ Paul: ~pages on there. We talk about open source, um, in, in, in this whole market effect here. Um, well, ~Jack, if people wanted to find you and hear you talk more, what's your handle? Where do you blog? JAck: Sure. I'm,~ uh,~ [00:29:00] @jherr on GitHub and on X, but I mostly do stuff on YouTube, so go check me out on YouTube at @jherr, so J-H-E-R-R. It's Jack Herrington. And,~ uh,~ yeah, I talk about all things full stack and applied AI, and it's, it-- called basically the blue collar coder because I'm not a college-educated guy. I've just been doing this since I was a kid. And so my stuff is, like, making the customer happy. And if you're the kind of coder that wants to make customers happy, then, ~you know, ~watch my channel and ~I'll, ~I'll teach you some stuff Paul: ~Well, I don't wanna make customers~ JAck: ~There you go. Make your~ Paul: ~not ~ JAck: ~your customers unhappy.~ ~Exactly ~ Paul: ~Hey, Jack Am I back? Okay. I, I don't know what just happened there. I think the IO of my Mac just, just collapsed. Um No, I didn't. ~ JAck: ~One gonna say, yep Um Gosh, I forget where I left off now. Um, that really, that really perturbed me, the, the screens turning off. Um, well, that's what we got for you today, uh, on PodRocket.~ Paul: ~Uh, ~thank you, Jack, for coming on and sharing all about TanStack AI. ~Um, and like you said, you~ ~can go to tanstack.com, right? Or TanStack do- is .com?~ JAck: ~Yeah. ~ Paul: ~Well,~ thanks again for your time, Jack. Until next time.