I’m Using GPUI for Everything

🔗 **Source:** [I’m Using GPUI for Everything](https://www.youtube.com/watch?v=SdJXHYuRr48)
[00:00:00] Goodbye Electron. Goodbye Tori. Goodbye desktop apps using web views. I'm a web guy. I love the web, [laughter] but I'm building desktop apps with Rust and I'm not looking back. In this episode, we're going to be talking about GPUi, what the heck it is, how it can be uh the desktop application development workflow of your dreams, and a little bit about how similar it is to React. We're going to be looking at some code. We're going to be talking about some libraries. I'm going to be showing some stuff I built. If you have not heard of GPUi or this sounds interesting to you, this is the episode for you. We're going to be going deep on GPUi, it is sick. My name is Scott Tolinsky. I'm a developer from Denver. With me as always is West Boss. What's up, Wes? Very curious to hear [00:00:43] what you have to say about this because I know that you were Mr. Tori for a while. Um, and I know you dip into quite a few different things. This is from the folks at Zed. We should say that. I'll let Scott explain it. He knows a lot better. But >> very curious to see is this something Scott is actually going to like or is this just something Scott's really excited about and then he's going to cuz you were really excited about Tori for a while and then you're like ah you know what maybe it isn't isn't it? >> Let people be excited about stuff. I'm excited about things. >> I'm glad you are because that's how we get good things, right? Like you dive in, you figure out what the edges are and then the world is a better place. >> Yeah. even let's talk about that cuz so Electron uses a web view. Electron uses
[00:01:29] like a Chrome instance and then it does everything in Typescript or Node to you know run your your actual uh server side of things your desktop side of your back end. Yeah. Um and and the cell for Tori was that it's Rust on the back end, right? Uh, but the the benefits come from the fact that it's using your native web view. And now, Tori, you can use any web view you want. Now, it can use Chrome if you wanted to, too. But the native web view part seemed like a major cell because you're not having to ship a browser web view with each app. One of the things that Electron gets uh chunky with is that the apps are shipping an instance of Chromium with [00:02:11] the app. And then also Chromium can get really costly, man, when you're when you're not working in it. Well, now we've seen like some apps like VS Code use Electron very well. Um, in fact, if [clears throat] VS Code is slow, it's usually a third party extension, not VS Code itself. So, Electron can work and can be very fast. >> But in my process here, I found that the the native web view side of things is not it. Especially on Mac OS with Safari, the versions like the the feature set sucks for desktop apps on WebKit. Safari like or WK WK WebKit. I think that's it. WK no >> WK
[00:02:53] >> WebKit web view uh e web whatever webkit web view whatever it is. Either way >> WK web view you're right. Yes, I just look up. >> WK Webb view uh not featurerich and not good for desktop applications and very unpredictable in terms of who has what features because you're not shipping a specific version. Right. With Electron, you can ship a version of your choice of Chrome that you know the features will be there for every user >> who downloads. What most people do with these electron apps is they flip on some things that are either experimental or they'll modify Chromium in some way so that there is support for what they want right cuz there are inherent limitations [00:03:37] of the web browser. So if you can sort of turn some of those things on like one example HTML and canvas huge huge one like um for what is it remotion is the like JavaScript video editor right they can render it out for you if they they couldn't do that if they were using the native web view because that would be Safari in that case um and >> you have to turn on HTML on canvas. >> Yeah. Yeah. Totally. So, enter GPUi. Uh, the Zed team when we And and actually, I will say, Wes, this is a pure coincidence. I'm wearing my Zed hoodie today. I did not do this on purpose. I'm very like, this makes me look like I'm I'm sponsored here, folks. This is not
[00:04:20] sponsored. They've paid me no money. They did give me this sweatshirt, but only because we had talked about Zed in an episode and they liked that. So, we don't we don't take SP I've been seeing that more and more, Wes. Anytime we publish a video, people are like, "You got paid to talk about Stylex X, which is an open- source CSS library from >> Meta. Who cares? Why Why would we get paid to talk about that?" >> That's the most insane one to me. Well, let me tell you like congrats or like like clap to everybody who is suspicious because the amount of DMs that I get from people who are like planning a launch of some crappy ass AI project and the amount of money like I just got a [00:05:02] message from somebody. They are offering $1,500 just to quote tweet one of their launch posts. Like, and most I'm not gonna do it because I tried it. I tried the product. It sucks. But like like a lot of people will be like I buy I buy a new MacBook. Um I do two of those, you know, and like a lot of people will sort of throw that throw that out the door. So >> good on you for thinking that type of stuff. But I I hope that my integrity is >> is worth a little bit more to you guys, you know, like I don't I don't want you guys to stop watching because we're shills for something except for Sentry sentry.iosax. You should install it in your application. >> Yes. And and that that's an important
[00:05:44] point. We do not accept money to talk about libraries, tools, whatever. Except we are uh a part of Sentry and that's it straight up. >> Um so you can be confident about that. GPUi. They did give me this hoodie. It did not make me talk about Rust or GPUi. Okay. So GPUi is sick because basically it's a UI framework that is GPU accelerated. It is crossplatform. So, it runs on Mac, Linux, uh, Windows, uh, it even runs on the the the web and mobile, but we'll talk about that in a little bit because there it's not something maybe that I would do. Um, so you could think of it as like an alternative to building UIs in like you would use it in place of a web view in Electron. You [00:06:29] wouldn't use it with Electron, but you would use it uh instead of using Electron to build a web view. Now, why would you do that? Well, it is sick. It's fast. Like I said, it's GPU accelerated. It is native all the way down from Rust rendering to the GPU. Rendering to the GPU, rendering with the GPU. Yes. So, let let's get into it here a little bit about how this looks because uh it's a very web and dare I say react like experience which is going to make a web developers happy. Um again, you aren't shipping a web view for this. you're not using the the DOM, you're using just these primitives >> like like to be clear if anyone's sort
[00:07:12] of trying to place where this is in their thing. Like this is not something that converts it to native, you know, like it's not like you you use a GPUi text input and then it converts it to like whatever the Swift equivalent is. Like they literally wrote the entire like you start with a blank square and then you you go up from there. You got to implement like text wrapping and borders and shadows and like you have to implement literally everything because they've they've invented an entirely new way to do UI from scratch. >> Yes. And uh it feels like I said very react like but I think that's an important point because uh if you are building native native apps on desktop mobile or whatever you're often using like default components and then [00:07:55] modifying them right and styling them etc. where this is like you're using the GPUi version of everything. Now the the way that this works is that there's a a render just very s like a a render function similar like there is to react and everything is done in sort of like methods and functions rather than it is declarative like react but you're not using the same style of react bracket style component. So you would have like a div function with a flex method on it for a flexbox style thing and a flex column to do flex column. So the CSS ends up being very tailwind like in a way because you are really doing inline styles on individual divs or wrappers or
[00:08:42] things like that. And the shorthand is very I dare I say tailwind liked. There's a lot of like helpers like text XL and stuff like that. Text color. Imagine that. I actually like that Wes. Uh the text color is named text color and not just color. That always bugs me about CSS. [laughter] >> Yeah. >> Oh my god. >> Well, you could say well actually it's cuz it also controls like like what border and and several other things, but who cares? It should be text color. I agree. Yeah, you're right. You're right. It does. It does change the color of a lot of things. You're right. But, uh, I think getting started in CSS, text color was always a weird thing. Um, there's the concept of children. Like I said, it's very very reactike in its [00:09:26] presentation when you look at it, or at least react like in the sense of you have components, you have props, you have state, you have those types of things. So, I made a quick little application here. If you're watching on video, I have this pulled up. If you're watching on audio, we'll do our best to describe it. But basically, you define a component with a strct. It has props very much similar to how you have props in Typescript. In React, you're defining the props, the types of them. You have a render function where again you have things like divs and then you can pass props into components. the render for the counter which is a component I have here. Uh it is able to have a button with an on click and then you have a new
[00:10:12] listener and then you're incrementing the counter. This should all feel very similar to React. The big difference here and and maybe not the big difference because there's a lot of big differences here, but when you update state into something like that, you have to run notify and that notify. It's a method on the the general this is like remix context. It's like remix. I was hoping you would say that, right? It just you call the update function yourself in in Remix where okay, I've done some stuff. I've mutated some variables. Now I want to rerender this specific piece. So you explicitly do that. Is that what that's what notify is? >> Yes. Exactly, Wes. >> Okay. I was like I I put this in here [00:10:54] hoping that you would say it's like [laughter] remix. Uh and I'm glad you bit. Really cool. You know, and in general like I I I know if you haven't used Rust before, some of this is going to look very foreign or very intense. If you've written Rust before and you've written React, you're going to be like, "Oh, oh, I get it." Um because if you've done the two of them together, the little Rust things aren't going to be surprising. And then the React stuff is going to stick out very uh very obviously. Um >> have they reimplemented >> most of what we expect from CSS? You know, like I I saw flex, I saw obviously padding, borders, text color, focus. So, have they just basically reimplemented
[00:11:38] >> everything that you need? >> So far, I've I I've been able to do the stuff that I want to do. Um, as far as like shadows, opacities, textures, backgrounds, repeating backgrounds, and stuff like that, I'm sure I will hit edges as I try to do crazier stuff. But, you know, like as far as like animations, here's an example in their docs for doing a rotating SVG. Let me find this. And in the in the syntax, I will say folks, if you are like coming from a React and HTML world and you're just chaining a bunch of methods for things, like this is Tailwind class bloat on crack. Uh, can you say that? >> This is Tailwind class bloat on steroids. We'll say [00:12:20] >> yeah, because it's it's one per line and you're chaining it almost like like jQuery chaining your methods. >> Yes. So, you get big old long files. uh it doesn't necessarily matter that much to me because agents are often writing this stuff to me and I find it to do a good job. There's like with spring to have spring animations uh things like that. So in my experience it's been very fullfeatured for the types of things I want to do in CSS. Now does it do everything in CSS? I can't imagine that it does but uh so far I'll show you some people with it. >> Is it have flexbox and grid or or grid or what's the layout thing? Because that's the one thing about React Native is that they don't have CSS grid implemented, right? You got to do everything in flexbox.
[00:13:02] >> Yeah. Uh where's grid? Grid grid grid grid grid. I'm trying to the docs here. Uh what I need is a big old reference docs is what I need. >> Yeah, the doc there doesn't seem to be docs. There's just a bunch of >> examples. I have mostly used flex to do everything. So well that's a good question about grid versus flex. Yeah, I'm seeing just flex everywhere. >> Yeah, me too. I'm not seeing any grid. So that's a bit of a limitation >> I guess. But I mean it's still like I don't know before CSS grid you were doing everything in >> Yeah, we were able to do a lot of these things. There's probably like something like a sub grid or whatever you'd run into be like ah >> this is kind of but again you could probably also measure things and and [00:13:46] you're in the the Rust code, right? So you could probably do a lot of the stuff programmatically or like here here's the other question is can you implement your own things >> like if you wanted to have fancy border >> see Wes I knew you would ask me a bunch of questions that would stump me. I've the apps that I built I'll show you the apps that I built have been very vanilla looking. So um I mean I've I've I've styled them to a degree >> but >> you're always one to push it in a place a fancy board. I haven't. >> Okay. Well, here here's another question is like obviously handles layout, handles styles, handles events like we saw like when you click on things um you can do things it handles state at what
[00:14:30] point like if you want to do things on like is there a backend or is all of your your logic just mixed together. So for say for example you wanted to like process a video um when somebody clicks on something normally in electron land uh you would use something which would call a function that lives on a backend right like some sort of RPC you'd have to implement it. Yeah it would dispatch that and then your your backend would then fire off that function. What does that look like >> in GPUi land? Well, it looks like you don't need you don't need GPUi to send a message to something else because it is just in the Rust code, right? Already there. [00:15:13] >> If you want to call a function that does something, you're already right there. Yeah. So, in that in that regard, you're eliminating the need for like a RPC layer there, right? And and again, GPUi is just the UI stuff. So how you use GPUi can be up to you. Yeah. >> Oh yeah. Your your actual implementation is like this is not like a full stack thing, right? You typically would >> it's a UI layer. Yes. >> Yeah. You would put this onto your existing Rust application or you would then choose how you want to architect it. Whereas something like Electron is a little bit more opinionated. >> Yes. Exactly. Uh one thing I thought was interesting about this Wes, there's two
[00:15:55] different types of render in in this. There's a render and a render once. So like a render once could be used for like badges and more like static stuff that doesn't need updating. Was like the Wasn't there like a React version of that before that doesn't have state? Was that pure component or am I like going like like memoize it? Um you can obviously still rerender a memoise component but or um >> yeah what was it there was something in Babel as well where you could just like pre-mputee it at at like build time. So that's another one where you just don't have any logic. It's just at build time you figure out what the HTML would be to be rendered. >> It's been so long I've forgotten. Uh and then there's >> Babel macros. That's what they were called. [00:16:36] >> Macros. Yes. And then there's also just this typical render where the component has state state changes and then context notify requests an update rather than like that functions more like kind of like remix or react like you would expect there. So, uh, folks out there might be looking at this and being like, great, now I got to reimplement every single React thing or fine, I'm I'm, you know, whatever. Well, fear not. There's something called GPUi Kit, which is been a uh, man, the very best thing for me in this. So, GPUi Kit is a component library, and this thing has so many components in here from accordians, alerts, dialogues, bubbles, badges, carousels, dialogues. I mean, just like
[00:17:18] anything that you could possibly need. It feels very like shad CN of GPUi. Something's not loading for me. But I've been using this thing to great success on every single GPUi project I've been doing. I've been using GPUi Kit and then using that as a basis to um style my stuff with because it it just gives you these primitives that are actually nice and extendable. They're not too designed, but they're just designed enough to look decent. You know, >> input, output, pageionation, popover, combo box, command, input, all the stuff you'd expect, all the pieces that you'd expect to uh be able to use in an application. [00:17:59] >> Interestingly enough, Wes, it looks the the components look very similar to my graffiti UI stuff, which means that I like have a lot of thoughts on how to style it. stick an agent on that this afternoon and get everything ported over. >> Yeah, that's a good point. Yeah. Um, but it does it gives you the primitives, all the input types and stuff you need. And one thing that I really loved was the the data table and like virtualization out of the box and everything like that into this, you know, like sorting and tables just work and are nice and easy. Like when I think of GPUi before GPUi kit, I was thinking, okay, now I got to build every component. And to me, this is the major unlock with this thing because there's just so much in here and it's all really good. So, if I need
[00:18:44] something, I I just got it right here. Hey, real quick here, I wanted to uh mention because we don't talk about it in this episode about GPU CE or the community edition. Now the community around GPUi is a bit fragmented at the moment because uh community members feel like the Zed team, the team that created GPUi is only adding things to GPUi that serve them. So there is a fork of GPUi that brings in all of the changes from GPUi. And according to a user on Twitter here, Cameron Campbell, uh, CE has some cool features not present in GPUi, like [00:19:28] declarative style transitions, corner smoothing, aka squirles, blur, background blur, gradient support on shadows and borders. And honestly, all of this stuff sounds awesome. However, I do want to highlight that in the conversation about GPUi Kit, which is a library that uh we talk about extensively in this episode, the creator of GPUi kit or the maintainer of GPUi kit says uh in this in terms of not supporting uh GPU CE strictly as even like a flag because GPUi kit has a version pin for GPUi. So they say, "I was never optimistic
[00:20:11] about them from the beginning. These projects create problems without fixing them. I don't think it's worth wasting time on them. Only projects validated by realworld applications will generate continuous realworld demand and drive the framework's improvement. GPUi has Zed, GPUi component has Longbridge. These frameworks weren't created out of thin air. They were built upon realworld project needs, which is why they have achieved their current success. Just like my initial choice of GPUi, I was drawn to the way that Zed team works and GPUi's design philosophy. Currently, GPUi is indeed facing slightly slower process due to Zed's knees, but it's actually been continuously improving. [00:20:54] Basically, they are saying that this is why they will not support the GPU, i.e. it's just a community fork and uh they don't want to add uh things into their application. Now, whether or not these points are valid or not, some people disagree on all of that, um, it's still a conversation that's being held and one we don't really get into in this episode because I have really personally only stuck so far with GPU as well as the GPU kit side of things. Just wanted to clear that up for anybody who wanted to understand a little bit more about the situation here. Let me show you some apps that I've built with this. I've built a few apps with this. One of this is called Gendo and it shows every
[00:21:37] project that's on I wish I could make these bigger. I don't have the font size and there's some ugly stuff about these. Shows every project that's on my Mac or my MacBook Pro. And then for things like this one, it's a the this is battle mode which is the the app we did for our our CSS tournament. It shows the version of Okay, I actually have three copies of this on the computers I have. if I have two copies on my MacBook Pro and then one on my Mac Mini. So, basically, it's >> it's here for me to be able to and then I can see like the the status of all of them and I can transfer them, I can start them, I can open it and stuff like that. This is an app I'm just working on for myself because now that I have multiple computers running multiple dev [00:22:20] process and stuff like that, it's getting tough to keep track of everything, the versions, which one's up to date, what's where, what's everything like there. So, like one of the things I'm going to be doing is uh uh organizing things and making it a little bit more of like here's a system, even managing caddy domains and stuff like that. So, I built this little app. It's it's nice. It's it's just a little personal software here. Again, it's going to connect to any computer I have in the network. I also built file Oh, yes. Continue. >> I got a question though. So, like people are probably asking like like why would we want to do that? We we answered the fact that like like obviously Chrome and whatever that's they're they're like hogs and they're they're fairly large applications as well, right? >> Yes. But like like this is perfect for a tiny little utilities where you don't
[00:23:06] want to have to ask somebody to download an absolutely massive thing like I just updated Daisy Disc which is a little app I use on my computer to scan find out like I always out of space and I need to find out where is the space being taken up right and Daisy Disc just updated itself eight megs. Eight megs when when's the last time you've downloaded an app that's been eight megs? That's tiny. Um, very happy about that. And like >> versus like somebody pro there's probably some electron version of Daisy disc that's 267 megs and uh every time you have to update the thing, it's just this massive thing sit on your computer. I I have probably like not to mention RAM and resources of just these things [00:23:49] running in the background. >> Yeah, totally. And and I I 100% agree. Uh it's a little desktop app and I want it to be thin. I want it to be light. I want it to be uh fast. I want it to be all those things. I don't want to have for every little idea I have, I don't want to have a separate Chromium instance running. And this takes it from something where I would have to have that to something that I don't very very quickly because we're able to make it look good and fast. I'm actually uh redoing my video recorder right now because I want that to be as lean as possible, right? So moving that into this would be really nice. Another one that I have is File Bro. And File Bro is an app that does like file automations. Allah hazel. Um, so basically, hey, if
[00:24:34] the screenshot is like this and the name starts with this, then move it into here. I'm going to use Jev. Well, I am already using Jeff, but I'm going to be using Jev even more in this bad boy. And it's going to be able to set up automation. So, again, something you want to have running, but something you want to be very nice and fast, like file duplication checkers. um this is all just temp check test data but this is like file duplication checking and like merging of files and stuff like that. So to me this is like a perfect use case for this type of thing right uh a nice small personal utility app that I want to be I don't want to run like okay so file bro I will say originally was an electron right and now it's like I can [00:25:17] have all this duplication checking I can do deep analysis of files I can do all of that just directly in rust in the application and I found it to be very nice so this is file bro I've also been working on a window utility library cuz I just make too many things, right? Uh this is [laughter] Mr. Mr. Space. I was tired of, you know, like Aerospace came out and aerospace is great. It's a window manager that locks everything in, but I found it to be like the automatic window locking in. I find that to be relatively obnoxious in daily use. What I really wanted was something more that I could say, "All right, here's a shortcut. Pin to the left, pin to the right." And obviously like uh and here you can see command failed. Obviously,
[00:26:00] Raycast does that very well, but I also wanted the ability to send things to different spaces. Send things like in Omargi, you you have your window, you can send it to space number two, you can spend send it to space number three, or I want to be able to automatically have every window I have automatically fit into the the desktop at once, right? Like those types of functionality. I'm not going to have that in uh Raycast the way I want it to be or develop these layouts. So, I built this little app and it uses Mac OS native spaces. So, like I can send something to another space in here. It's really pretty slick. And agents can use this too, by the way. I could I could prompt an agent saying to send a window someplace and it's going to know how to do that. So, it it it's [00:26:44] pretty cool little app, but just like little fun things that I've been building with GPUi. And the cool thing about this app is that I only use GPUi West to do the settings menu. So, I have uh the setting, this is just the settings menu. So, this doesn't have to be open for the app to run. So, you can use GPUi to build like full-on things or just little nice looking settings menus, right? So, >> wow. >> Yeah, >> it's cool. As what about like downsides? Um, obviously >> you just showed one which is that you couldn't you couldn't increase the size of it. Um, because like that's something that comes for free uh with the browser, right? And you obviously need to implement some sort of scaling. I'm I'm sure maybe that exists, but you have to then hook it up, right? Well, any other
[00:27:28] downsides there? >> The the biggest downside one is the the non-native UI element. So, like if you're going to be like, I want this to look really Mac native using liquid glass, but then on uh you know, Windows look, Windows native or whatever, like this isn't going to be the thing for you because you're going to need to reimplement liquid glass and GPU. Um, and and that could be a major downside to some people and it could be an upside to other people because maybe you want to have full control over how it looks. This is actually kind of west boss coded this this theme I got going on right here. >> Kind of looks cobalt 2y. >> Yeah. Um, I want to be able to have control over how it looks me personally. And that I mean you can it's not like you can with native apps, but like again I I don't want necessarily the cookie [00:28:10] cutter Mac app when I'm doing it. But either way, you're not using native UI elements. So that's a thing, right? Um, there's no browser DOM. So, even though there is a project for getting GPU apps running on the web, it's going to be doing so via WOM, I don't believe it's going to use the real DOM at all. I don't think that's possible really, unless there's like a translation layer. So, uh, as far as I've seen, GPUi just renders it with Wom instead. So, there's no browser DOM. That said, there is a full-on accessibility tree in these apps, Wes. And I actually use that accessibility tree in a Jev thing I built. I'll show and it's three. It's still young, right? You got GPUi uh kit as a component library, right? You have this as a component library, and there's
[00:28:53] a couple others, too. Um, this is the best one that I found, but it's still very young. So, the fact that this exists in this extent is is pretty sick. But because it's so young, you know, you'll be less resources or whatever. I have found that AI does a pretty good job of of writing this. Um, I will say that I use a Rust best practices skill to make my AI do a good job of this. I'll link this up in the thing and overall that's been fine. But the the the biggest downsides are really again it's it's not a right once deploy everywhere platform in that sense, right? You're not going to get a React Native style native app out of this as [00:29:36] well as a web app as well as a desktop app. um you're pretty much locked into whatever you're doing. And primarily I'm using this for native desktop app stuff. On the same frame as the uh it's not using the DOM, it's not using that. If you want AI to test your apps, you're going to be looking at a computer use rather than like a browser use type of situation. However, I did create a Jevdriven native GPUi testing project here. It requires a small patch to GPUi and just a little bit to your harness here, but it uses Jev to computer use via the accessibility tree in GPUi to be able to go through and click and do all that stuff. So, it doesn't have to take
[00:30:18] screenshots to test your application. Um, so I I'll link this up here. Again, this is very early and uh it's working for me. But again, early small project. So, if you're looking to build like fast desktop apps, maybe cross-platform, you don't care about either deploying to the web or you're willing to put up with some headaches there, I think GPUi is a good choice. I've mentioned mobile a few times. There is GPUi, mobile, it does exist. It seems to work. It is experimental. Um, you're rendering everything with like Metal via WGPU on iOS. So, it's not using it's not like a conversion layer like React Native, but people have it working here. There's [00:31:02] docs and examples of it working. You're giving you're you're not getting to use all that native iOS good stuff, but it works. >> Yeah, you'd have to like >> I I would imagine there's like a lot of bridges you would have to build in order to like same with React Native. you know, anytime you want to use any of the native UIs, whether it's it's maps or like NFC or uh any even just like the file picker that the one thing that drives me nuts in some of these like apps that are not built natively is that like they just like here's the file picker. It's just a a listing of every folder you've ever had and like there's I don't have any of my shortcuts. None of my favorites are in there and it's just it's impossible to find what I'm looking for. So there is a bit of a trade-off there, but you can I'm
[00:31:47] certainly sure you can you can write bridges to the native Swift. >> Yes, there. >> So would I use this to to do a native mobile app? No. Would I use this to do a web app? No. But I'm using this a lot to do personal software, desktop apps, stuff that I I don't want to have just a 400 electron app on my computer for. I think a lot of people can recognize that as being a cool use case for this. So, uh, again, agents are good at Rust. At least as far as I found, agents are good at this. If if you're vibe coding desktop personal software, man, GPUi is the way to go if you're talking to me. [snorts] >> Beautiful. All right. Thanks for schooling us. Let us know down below if you want to use GPUi or if you plan to use it, what your thoughts are. We'd [00:32:30] love to hear it. Peace. Peace., I’m Using GPUI for Everything, Scott Tolinsky, Wes Bos, 01m3s57233ra0a0spezbvsj91s.