Elian Van Cutsem === Noel: [00:00:00] Hello and welcome to PodRocket, a web development podcast brought to you by LogRocket. LogRocket provides AI first session replay and analytics, which surface the UX and technical issues, impacting user experiences. Start understanding where your users are struggling by trying it free at logrocket. com. I'm Noel and today I'm joined by Elian Van Kutsem, leader of dev relations at React Bricks and also an Astra maintainer here to talk about making the web weird again. ~Welcome to the~ Elian: Yay. Thank you. ~Thank you. Doing good. ~Doing good.~ It's very cold here, but it's probably as cold as where you are. So, uh, yeah.~ Noel: ~How cold is it? We can, we can~ Elian: ~Um, it's only like, well, zero degrees Celsius, which is the freezing point. So I have no idea in Fahrenheit what that is,~ Noel: ~Um, we're like just below that. We're like in the, in the low teens here at the windchill. I'm like worried about the pipes freezing all the~ Elian: ~Yeah, yeah, yeah, exactly. Yeah, yeah,~ Noel: ~It's no fun. Um, let's, ~let's jump right in. ~Um, why, like,~ let's talk about ~the weird, ~the weird web. ~Why do you think devs? ~Why do you think this is like such a, I don't know, seldom talked about topic? I feel like there's a lot in the web that the web can do that. We just don't end up taking advantage of. Elian: ~totally. Yeah. I think it's ~well, to put it simple, I think we work and live in a very fast paced environment. ~Like ~as developers, we constantly have to find solutions to problems and bugs or implement new features, and we're very. busy doing that. So we don't have a lot of time or we don't want to spend the night,~ um,~ just having fun on the web, let's say, or making web weird because we're already [00:01:00] exhausted and we probably want to keep some time offline instead of online. ~Um, ~that makes a lot of sense. ~Um, ~so yeah, I think we do take our work a little bit too seriously sometimes. ~Um, ~but yeah, I'm here to change that. ~Well, ~at least I hope. Noel: ~Yeah. I think, yeah, ~it does feel like as more and more serious, I guess to use your word, stuff has shifted online. ~Like the, uh, ~The ratio of just like weird, fun stuff seems to have ~like ~dropped immensely. Elian: Yeah, the thing is, we just have a lot on our hands. Like we have to keep in touch with GDPR laws. We have to keep in touch with accessibility ~and, and, ~and people with maybe other issues that we don't know. So ~it's, ~it's very hard for us to make sure that a website, whatever website that might be is totally acceptable everywhere. ~Um, ~and that makes a lot of sense, but yeah,~ um,~ since we're so busy doing that, we take some things a little bit too serious. Noel: Yeah, accessibility is an interesting one. ~I hadn't, I hadn't thought of, but I think, I think we, yeah, like ~I want to loop in like security and privacy and some of this stuff later too, because I also have a suspicion that like a lot of that original web weirdness [00:02:00] is ~kind of ~now been patched out and removed. For fear of ~like, ~there's like legal fears and all this stuff going on. ~Um, ~but ~like, do you think, ~do you think, ~I guess, ~just to ~kind of ~frame this first, do you think that ~there is a way or like ~there is a more healthy approach to ~kind of ~development and finding joy in, ~you know, ~web dev again? Elian: It's hard. ~Um, ~it's definitely hard because,~ um,~ for me, yeah, there's definitely like a joy that we have to find because if we're doing our job at least eight, seven ish hours a day, then we need to make it fun at least an hour or two of our day. And we need to have fun because otherwise you'll just be. Going to your job, doing your job, going back home. And you're not really satisfied in a way with whatever you have done. Maybe you are, but ~I mean, ~it's so much more fun if you can actually make it fun as well. ~Um, ~and I think that's what it was about for me. Like I wanted to have more fun in my day job and I wanted to try some stuff without actually losing the feeling that I wasn't really productive. ~Um, yeah.~ So I think that's a little bit of what it's about for me. Noel: ~Yeah. Have you found any, ~have there been any like. [00:03:00] APIs or anything in particular that have ~kind of, um, ~walk that line. ~Well, ~where it feels like this is ~kind of ~like a fun novel, ~you know, ~like enjoyable thing to be working on, but it also ~is, ~is more productive and ~like ~feels like Elian: Yeah, ~there, there is a lot of them. ~There is a lot of them ~like for, well, it's, ~it's a ~very, ~very thin double edge sword in a way, because the battery API, it's a really good API. ~Well, ~it's really interesting. Let me say it like that. It's really interesting because what it does is it reads out your battery. ~It's, ~it's given if it's charging yes or no. ~Well, ~Boolean wise, it's true or false. ~Um, ~what percentage is your battery and maybe how long the battery can run. It's very interesting because it's very useful to maybe your. Batteries running out very fast. So we can restrict the number of animations we're running on the website, the number of images being loaded up. ~Like we can, ~we can detect all that and use that in a useful way, but also we can start misusing that in the sense of what if I have a webshop running and I see that you only have ~like ~five minutes of battery. Maybe I can start pushing you some sales like, Hey, this is going to run out in [00:04:00] maybe five minutes, just like your battery. So you better be charging. Hey, do you need a charger? Maybe you can buy a charger for 20 percent off. And then you get to the dark side of all those,~ um, ~APIs, which is what my talk as well is about in a sense, it's about walking that fine line of what we can use it for and where it's useful, but also. We can misuse it because it's JavaScript. JavaScript is such a open platform, just like the browser is that we can actually use those variables and put them into CSS variables or in opacity variables. And suddenly your website will react to your environment of your browser. ~Um, ~which is an interesting idea to me. ~Um, ~like for instance, the battery API, it is useful. ~Um, ~because for instance, at react bricks, the company I work for at this moment, we have used it,~ um,~ to give you a notification like, Hey, your battery's running out. Maybe you should save your progress on your page. So you don't lose all of your edits and everything. So it can be useful. The question is then, is this. Like a security risk because you're giving your [00:05:00] personal data somewhere on the internet, which is a little bit scary in a way. ~Um, ~and actually that's why it's not working in, I think in Firefox, Noel: Yeah, they had support and they pulled it because they're like, yeah, people are using it for tracking. ~Yeah. ~And it's ~like, ~it was removed from newer versions. Elian: ~Yeah. So it's, ~it's super interesting. ~Um, ~and I love to play with that, like fine line between. Useful, useless and whatever you can use it ~for, ~for dark side, but also on the good side. Noel: ~Yeah. Yeah. Is there like, um, Is there something that you're, ~is there a process you're going through that kind of spurs some of ~these, this, ~this stuff on? I think I have a hunch a lot of people ~kind of like, I ~see these kinds of things like the battery API, for example. I'm like, Oh yeah, that is cool. That'd be fun to play with. But I would never have even thought to have ~like ~looked for these, ~you know, ~funky APIs or ~like ~tried this. ~Uh, is there, ~is there something that ~kind of ~keeps you curious and engaged in Elian: Yeah, in a way it does because it's, I want to learn about the platform. I always say in my talks, like use the platform, ~right. Um, ~so I want to know about the platform and the browser supports so many different stuff that I wanted to explore a little bit more and Hey, what does this API actually look like? And then I started playing with the [00:06:00] idea of what if I. Start using all the browser APIs that exist that I don't know of. And I want to learn,~ um, like, ~let me start to use them in a weird way. So I can have fun, but still learn all the way through. ~Um, ~so I guess that's ~kind of ~my process in a way. Noel: ~Yeah. ~Do you think that there's, is there like an easy way, ~I'm not, ~I'm not sure your guys is like team structure ~and, and, ~and such looks like internally, but is there a way to ~kind of ~get organizational or team buy in on some of ~these, ~these things that you've found to be effective? Cause ~you know, ~like you said, there's ~this, ~this weighing of ~like, ~oh, we've got features specked out. We've got to add more basic crud stuff for X, Y, Z to support. ~Well, is there like, yeah.~ Elian: It's hard because ~as a, well,~ let's say as a business, you want to ship features. You do not want to play around too much because you lose time and time is money. We all know that. And that does make sense. But in a sense, yeah, I think it's very important as a company that your. Employees or whoever you have in your company, you keep them stimulated and you keep them,~ um,~ happy with actually shipping some of the weird stuff or giving them the time to experiment with weird stuff that [00:07:00] might actually be useful. What I typically say is that, yeah, sure. Like I build weird stuff with weird APIs, but actually they might like on the lower level resemble something that is useful. ~Um, I, ~I had ~like ~one of these ideas,~ the, the other one that I ~The other day, which was basically what if you have ~like ~an input field, basic chat app, whatever, but it replaces the words that you type with,~ um,~ let's say with memes, for instance, you type something and it will find the appropriate meme and send the meme instead of what you're saying, or maybe it translates to emojis like iPhones already do that or Android phones as well. ~Um, ~that is useful in a sense and useless in another sense. But what if, for instance, this podcast it's transcripted, And suddenly you can input it in that same field. It will generate memes. That's not useful. But what we can do is what if we suddenly want to make diagrams or something for a presentation, maybe then it can search the internet or the web, find something that's really useful or something that will describe the words we're saying, and then suddenly you have [00:08:00] maybe a useful feature. So it's always resembling in some way. It's always something useful. And if I didn't build that weird experiment first. I might not even have thought on how that feature could have been implemented that way. Noel: ~Yeah, totally. Do you find, are there, ~are there particular spaces where this kind of the weird quirkiness of ~like ~the web as a platform still seems to be thriving like more than others? ~Is there,~ Elian: it's definitely like a hackathons and stuff still happen all the time. So people definitely still do it. People build,~ well,~ let me say like silly things all the time. There is so many plugins for VS code, for instance, where you have ~like ~a pet somewhere, or maybe at Astro, we have,~ um,~ the Houston theme and Houston will ~like ~float around. And whenever you have an error in your code base, it will be sad. And whenever your code runs fine, it has a smiley face. That is a quirky. Maybe easy thing to implement, but it's so much fun and building that builds your brand. It builds the fun. Like maybe it's also like a weekend project. That's just a lot of fun. So hackathons and community is very much a thing here. ~Yeah, for~ Noel: ~yeah, yeah. I do like, I think that there is, ~there's [00:09:00] an interesting kind of dichotomy here where it feels like a lot of that early weird quirkiness was very like steeped in, ~you know, ~the internet culture at the time, which was like, ~you know, ~like young white dudes, right? ~Like, ~like just doing weird and ~like, ~it was very like stratified and that was the thing. Do you think ~that ~that kind of ~like, ~as the web has become more socially ubiquitous, ~like ~everyone's involved, do you think ~that ~that has ~kind of. You know, ~chipped away at this like universal sense of this,~ like,~ Oh, we'll just do like quirky, weird humor. And ~like, ~that'll just be the thing. Or do you think it's just, it is mainly that kind of like productivity shift that's caused Elian: ~I think, ~I think that's it. ~It's ~it's, we have to keep track of so many things we have to learn. Like for instance, next ~it's, it's, ~it's rebuilding it's code base. Now you have the app router instead of the pages router or the other way around. Whatever. So you have to keep being busy with learning the actual stuff you're using at work. So why are you learning to build other. Less useful things. It's, I think ~that's, ~that's the problem in a way, but also not a [00:10:00] problem. ~Um, ~I think it's very,~ well,~ it makes a lot of sense. Like we, we probably want to spend more time on accessibility than building actually things that are not accessible at all. And just some weird quirky JavaScript website,~ um,~ that nobody's going to use anyway. So Noel: ~Yeah. Yeah. I do. ~I do feel like.~ There's like ~some of that energy that before would have been like, let's just build something fun. There's has been ~kind of ~shifted towards ~like, ~Oh, I should do an accessibility pass here, right? ~Like ~that is probably a, like a more,~ uh,~ I don't know, productive, Elian: ~yeah, yeah.~ Noel: use of my time. Is there, do you think that there's like a healthy balance there? Or ~have you, ~have you been able to ~kind of, um, ~My vocabulary is failing me, but ~like ~find any places where those can like coincide and ~kind of like ~be working on accessibility, but also via some cool new, ~you know, ~feature or API that you've not,~ uh, hadn't hadn't ~seen before. Elian: Good question. Actually, I have no idea. I think it's really hard. ~Um, Hmm.~ Noel: so too. ~Like, ~I know that there is ~some, like there's ~some, ~you know, You know, uh, ~variables and stuff that are exposed now. That's ~like, ~Oh, like this is like a screen reader is looking at me versus something else. And ~like, I know, ~I know that there ~has been, has ~been advances there, but I think ~it's, ~it's also ~the same, it's ~that same kind of ~like ~privacy thing also then comes into it. ~Right. ~And it's ~like, well, ~how much of [00:11:00] this should we be exposing and like different organizations have Elian: Yeah. The thing is the web is just a very regulated platform now. And that makes a lot of sense because we,~ well,~ everybody and everything runs on their browser. Like even we, we are recording this podcast through a browser. So we have to make sure that everything keeps running everywhere. It's the same reason why JavaScript doesn't change a lot in a sense, because it has to be supported almost everywhere on every device across all different platforms, so yeah,~ it's, ~it's very hard for sure. ~Yeah.~ Noel: ~do you think have like the I'm I'm ~I'm chewing~ on ~on ~uh, ~like the battery api because I think that's an interesting one ~Do you ~do you think that like the battery api ~like ~like you said there are ~there is ~use cases I think for it Like ~we could ~we could come up with ~you know, ~like Display stuff changes or the way like good, valid behaviors that are useful. But again,~ it, it, ~it seems like there is this kind of like we're walking a line and ~some, ~some browser groups have determined ~like, ~and it's not worth exposing that for fear of the security risk. And I think both sides ~are, ~are like valid, but I'm curious, is there ~like, ~do you think that it is maybe a. In ~like ~indicative of a [00:12:00] failure of the web, that thing is like ~that, ~that layer is exposed to JavaScript in a way that can be abused. ~Like, ~is there a better way? Something like this could have been implemented where in like the user's browser can do things differently. If the battery's getting lower, like the system says ~like, ~Hey, disable animations, right? ~Like ~as a developer in CSS, you declare like only do this animation. If browser or battery levels Elian: yeah, it already exists in a way. Like you have prefer modes, right? Like you have preferred dark mode, for instance, which is one of them. Like color schemes is one of them. And then you have now battery. ~Well, ~that doesn't really have that use case, but,~ um,~ it definitely exists. Like you can limit animations already on the website, but one thing that I wouldn't. Re imagine like whenever we implement the battery API, there is no permission whatsoever. There is no permission layer, whereas everything else, ~like ~if you want to read MIDI, USBs, whatever on the web, you always have to give permission, but not with the battery [00:13:00] API, which is very interesting. Like why not just implement that as well? It's not too hard to do for a browser. And then people that want to opt out can opt out and there is no, no worries in that. ~Um, ~so yeah, that's something that I would change. Noel: ~oh, for sure. I think that, ~I think ~that ~that is an interesting one too. ~Like, ~I think that there's probably been people who have done much more thorough discussions of this and considered it much more, but ~like, ~I think ~it, ~it, this is, I think, the ~one, ~one failure that I think,~ like,~ we've ~kind of ~made with all these,~ like,~ cookie tracking settings and things where like ~I ~on every website, you get prompted to ask for it. And every time that happens, I'm just like,~ uh,~ this should just be a browser. Like the browser should just tell,~ like,~ I should just set, configure this on my browser and ~we're like ~be able to give a list of domains to my browser. ~Like ~these ones have permission. And if so, they don't need to prompt, but ~like, ~I understand why it didn't ~like.~ There's, ~you know, ~legal reasons and all ~this, ~this stuff didn't happen, but I think ~that ~that is a failure of ~like, you know, the, the, ~the organizations that exist didn't like,~ uh, the, ~the thread didn't follow all the way through to the tech in ~the way, ~a way that could have been very satisfying. ~Um,~ Um, totally agree. ~Like for, especially ~like with the cookie settings and everything, it's getting even worse because now I think it was very much in Italy [00:14:00] that a lot of websites have found like a backdoor in the legal laws where you can actually tell people that, Hey, if you want to deny cookies, you can, but then you'll have to pay. Elian: And that's a thing as well. Like what? No, that's not how the platform is supposed to be. ~Like we, what? Um, ~but yeah, sadly it's very true. Like it should be a browser setting, ~like ~deny all always, or deny only this domain or apply only this to that. ~Yeah, for~ Noel: Yeah. Because think how it's so much less painful when a website like prompts you for mic or camera access. It's ~like, ~yep. It's always the same. The browser does ~it. If you want ~it. If you want it to have your browser pre configured to always allow, it's ~like, ~theoretically, this is possible. Elian: is possible. ~Yeah, for~ Noel: ~yeah. So it's like, I feel that that like, you know, for, for something like battery API, it's~ Elian: ~yeah, exactly.~ Like the worst instance of that is for instance,~ um,~ the notifications, like whenever you're browsing like a website with whatever, like news typically does it, it always wants to send you notifications. I really don't want that. ~Like ~what's happening? ~Like ~deny all, always. ~Yeah,~ Noel: ~Right. Yep. Yep.~ Elian: it's a ~weird, ~weird platform in that sense. ~Yeah,~ Noel: Yeah. But ~I think, ~I think that ~on the other, ~on the other side, there's ~like ~cases where it's worked very well. And I think what, ~like stuff ~we don't think about is,~ um, ~like audio,~ uh, ~is ~like, ~[00:15:00] you can't just play audio when landing on a site, usually in most browsers, ~like ~it needs to be ~like a, an event, ~a user driven event ~needs to occur.~ And ~like ~browsers have Implemented this pretty well. ~Like, you know, ~no new tabs or pop ups opening that are ~like ~blaringly loud at you. So I think that ~there's like very, ~there's very interesting ways. ~I don't know ~that stuff could be implemented. Elian: There is definitely a lot happening in the good spectrum ~of, ~of this as well. Like for instance,~ uh, ~the prefers,~ um, ~no animations ~or, ~or something like that. ~It's, ~it's a very good step in the right direction. I think it just could be even better, but of course it's all ~standardized and, you know, ~standardized and everything, which makes sense, but it takes a lot of time to change something, which sometimes comes in by tuning. Yes. Noel: ~Yeah, for sure. For sure.~ And ~I think ~I think that like these, ~you know, ~as we said, like the web is slower now, people are like, everything's more considerate or consider maybe and ~like ~everything's thought over a little bit more. ~Um, ~I guess that said, are there any weird kind of APIs or just projects, experiments, anything you've seen recently or like stuff that's on the horizon that you're particularly excited for? Elian: ~well, ~most of the things are, of course, already implemented somewhere. ~Um, ~but I'm looking,~ um,~ more into web HID [00:16:00] for now, because I want to do a lot of more stuff with it. Like in my demos that I gave at ~like ~React Day Berlin and everything, it was already cool, but I think I can do way more with it. Like for instance, controlling. Animations with ~like ~a PlayStation controller or something. And that looks like a lot of fun to me. So I definitely want to dive more into that. ~Um, ~and there is definitely way more APIs, of course. Noel: Yeah. Can you catch listeners up on what web,~ uh,~ HID? Elian: yeah, WebHID is basically a human interface devices, basically an USB device, whatever that might be. Like for instance, my audio interface that's recording audio right now is WebHID enabled, which means that I can connect to it through that API. And I can intercept whatever,~ um,~ button press occurs. ~Um, ~and then I can attach an event to it and trigger an event with it. ~Um, ~so on the stage, what I did for instance, was with this web audio interface, whenever I pushed a button,~ um,~ to put a channel on or off,~ um,~ I could change colors on my website, or maybe just the art in RGB or maybe the opacity, whatever,~ um,~ Yeah, you can do a lot with it. ~Um, ~but I think it's also ~like, ~[00:17:00] let me clarify. It has a lot of good use cases as well. Like I'm misusing it as what my talk is about and making the web weird and everything. ~Um, ~but like web HID is a great thing to have, like accessibility wise. It's a ~great, ~great thing to have and we need it in more browsers. Noel: ~Yeah. Yeah. I, ~I agree. I think ~like, you know, ~there's like controller support is pretty like video game. So that seems to be like the big human interface ~and, and, ~and like things like screen readers and stuff like that. Like we have pretty good support there, but I do, yeah, it's always like consistent, cool APIs that are like easy to bring in like ~weird, ~weird input devices with knobs and buttons and all Elian: Yeah. That's also one thing I want to do and get more into is web Bluetooth. Like it supports it, it exists. It's not really good because Bluetooth itself, it's not amazing in a sense. ~Um, ~but yeah, I have some fun ideas with ~like, um, ~an Arduino or something and then attaching it. And we'll see in my next talk if I actually can make it, but,~ um,~ yeah. We'd love to play around with that as well. Noel: yeah, ~I think, ~I think we~ kind of, we kind of take ~Take it for granted that like the limitations, take it for granted. It's the wrong term, but there's like the keyboard and mouse are somewhat limited,~ uh,~ [00:18:00] input devices. And then everything's like trying to map to these things. And it's just ~like, ~sometimes ~we get, ~we want like a different whole layer. It's ~like, ~like a joystick is very different. Elian: It's actually pretty funny ~that you, that you, ~you get that. ~Um, ~because exactly that is what I did in one of my talks, which was using web MIDI for exactly that. ~Like ~MIDI is super wide. He does 16 channels and a lot of buttons. Like literally you can have any key you want. ~Um, ~so I attached the keyboard and I played around on the keyboard and intercepted those notes and you can do something with that. ~Um, ~for instance, playing video whenever you press your MIDI clock, or maybe you want ~to, ~to alter something or trigger something like for instance, on my computer. ~You can, ~I can open up,~ um, ~Google meet with one press ~on, ~on my Akai keyboard. So you can totally do something like that.~ Yeah.~ Noel: ~Yeah. Very cool. ~Very cool. ~Um, is there, is there any kind of advice to find?~ It sounds like ~you have, ~you have a couple,~ um,~ kind of components of this pieces, like fun APIs that ~you're, ~you're very tuned into and keeping an eye on and you think are cool. Is there anything you'd advise other devs to ~kind of ~find their weird things? ~Nish like ~find the things that interest them and like ~kind of can ~can keep their ear to the ground on. Elian: What really works for me is,~ um,~ embracing my own personal projects in a way. And ~my, ~[00:19:00] my own hobbies, like for instance, I like. Making analog music on my synthesizer. ~Um, ~it has a midi port. And then I was like, Hey, what if I can connect that midi port to my browser or to my computer in general, ~whatever that was, ~and it all started from there. And then I started thinking, ~what else is there? ~What else is there? So for me, it's about having. A way to learn, but also combine it with my own interests. Like in this case, it was a hobby music. And then suddenly ~you, ~you have a project. So my advice would be play around with whatever hobbies you have, and maybe you can attach them somewhere. On the browser in a way, whatever that way might be. ~Um, ~so yeah, Noel: Yeah. ~Nice. ~Nice. Very cool. ~Well, ~I feel like ~we've kind of ~we've covered quite a bit. Are there ~any other ~any other APIs you wanted to touch on in particular? Just real quick ~before we ~before we move on to our kind of lightning round here. Elian: don't think so. Not really. I have a couple of ideas that I do have, but that we'll see in the next time. Noel: Okay. Yeah. Sounds good. Yeah. We'll, we'll do the, we'll do the followup episode on those. Maybe, maybe things will have changed at that point. ~Um, ~yeah, but ~let's, ~let's do our quick round. ~Uh, ~so as of late, [00:20:00] what is the weirdest website you've come across? Elian: ~Um, ~it always is the same one, the useless web. com that website started all for me,~ uh,~ a lot of years ago, you click a button, you get sent to a useless random website and whatever that website is, you have no idea and you get to do something and it's lovely. ~Yeah.~ Noel: It's like stumble upon of old, but it's only weird stuff. Yeah. ~It's good. ~It's good. ~Um, ~if you could have one ridiculous feature in every browser. What would it be? Elian: Oh God. ~Um, ~what if a browser could read your biometrics? ~Like,~ Noel: Heart rate monitor. Elian: ~yeah, but ~yeah, exactly. ~Like ~detect if you're stressed or you have an elevated heart rate, something like that. You could inject that in some variable in JavaScript, CSS, whatever, and slightly change ~like ~the web user's experience. Like for instance, maybe,~ uh,~ altered the looks or tones a little bit down and maybe change ~a little bit more, uh, well, ~less neon colors and more pastel colors or something like that. ~Um, well, it's. ~We don't want that in the browser because we don't want to give our browsers and all websites are Noel: Mozilla will have something to say about this. Elian: yeah, exactly. But it's a fun idea and I think it could be fun. Noel: Yeah, oh for sure. Maybe that one needs a permissions [00:21:00] check to be sure. Elian: yeah, yeah. Noel: like to access your heart rate data. Elian: Yeah, exactly. ~Imagine. Yeah. Let's hope not. Yeah.~ Noel: ~Yeah.~ Okay. Next one. ~Uh, ~finish the sentence. The web would be boring without. Elian: JavaScript. ~Um, ~JavaScript is a tool that makes this all possible for us as developers to basically code whatever we dream of in the browser or anywhere else ~basically ~these days. ~Um, ~so yeah, definitely JavaScript Noel: Nice. ~Agreed. ~Agreed. ~Um, ~what's your go to way to make coding fun when you are stuck? Elian: implement other features. ~Um, ~I had this one time when I was working, for instance, on Astro DB and Astro Studio, that just occurred to me and I was implementing like a basic marketplace system. And I was stuck on some API or something. And suddenly like the day after it, I went to ruin my progress. And suddenly I've built a whole like social media network with,~ uh,~ where you could do feeds and likes and comments and following in that marketplace. And in the end. I had to scrap it all of course, because that wasn't the feature that we needed. But in a way I understood the code base better. I knew where everything was and positioned better and I had a lot of fun and I [00:22:00] explored in a way, future possibilities of maybe that platform. ~Um, ~so yeah. Noel: ~Nice. Nice. Perfect. Cool. That's, that's the end of our, uh, ~that's the end of our lightning round questions. ~Uh, ~is there any other kind of closing remarks here? Anything you'd like to ~leave, ~leave listeners with? Elian: Not really. ~Um, ~you use the platform and abuse the platform whenever you want. Noel: ~Yeah. ~Yeah. Try to break stuff. ~It's, ~it's a good time. Elian: Break stuff and learn from it. ~Yeah, totally.~ Noel: Cool. ~Well, ~thank you ~for, ~for coming on and chatting about ~the weird, ~the weird corners of the web. ~Uh, ~it's been a pleasure, Elaine. Elian: Yeah. Thank you very much. It was a pleasure for me as well. Noel: ~Nice. ~Nice. Take it easy.