Vibe Coding WebRTC: Can AI Replace Real Expertise? | Chats with Arin

In this episode of "Chats with Arin," host Aaron interviews Tsahi Levent-Levi about Philip Hanke’s recent "Vibe Coding WebRTC" blog post and the broader question of whether AI can replace deep expertise in building WebRTC applications. Tsahi explains the premise of "vibe coding"—using AI to generate WebRTC code from protocol specifications—and shares anecdotes of companies attempting to build full WebRTC stacks in weeks with AI assistance. He highlights the pitfalls when developers lack a solid understanding of WebRTC internals, citing a Janus forum thread where an AI‑generated solution failed due to missed resolution, CPU, and channel‑scaling considerations. Tsahi recounts his own experience using Claude (including Claude Design) to redesign his WordPress site, describing how the AI’s over‑ambitious rewrites led to broken layouts and a forced rebuild, illustrating AI’s limits in niche, performance‑sensitive domains. The conversation then shifts to the role of AI as a productivity multiplier: it can accelerate experts (e.g., enabling a C++ developer to contribute to the Go‑based Pion project) but also amplifies the mistakes of less‑skilled developers. Both guests agree that while AI is valuable for rapid prototyping and research, the deep, undocumented "oral lore" of WebRTC—tuning, scaling, and debugging practices—remains essential and cannot be fully captured by current models. The episode concludes that AI is a powerful tool that must be guided by domain expertise, especially for complex, niche systems like WebRTC, where black‑box solutions are insufficient.
Chapters
Thanks for joining me today, Tsahi Levent-Levi. Philip Hanke, also known as Phippo, published a blog post on WebRTC Hacks this month called Vibe Coding WebRTC. And as he himself joked in the blog post, it's a bit of a clickbaity title. But why don't you tell us about it?
Well, first of all, I had the honor of reading it. I wouldn't say first, but one of the first. I read the drafts, uh, to that thing between the both of us. And yes, the, the— I think the concept there is that you can write— you start with, well, if it's WebRTC, why not write WebRTC with AI instead of— or write your application with AI? And I have— I had this conversation with a few companies so far. The most interesting one was someone that told me, well, why not I go and implement WebRTC on myself on a weekend? Well, not a weekend, two weeks, but I can build the whole—
all of WebRTC in a weekend?
Everything? No, in two weeks, that's fine. You need enough tokens for that and be done with it. Then I don't care about Google, I don't care about being, you know, stuck with whatever it is that they do. I just Feed my AI the protocol. You go take the IETF standards, give it to him, and magically I'm going to have something that is spec compliant. Okay, so that was one view. Then you had another, another view that I don't know if you've seen that there is. If you go check the forum of the Metaco forum for Janus, There's a message there of someone that says, I know I built an application, it's a group room, multi-party. When I add people, it starts moving too slow. What am I— what's Janusz doing wrong? And he somehow writes in there that he's vibe-coded it or whatever. And the greatest thing is that the answer he got from Lorenzo is something like, well, he was very polite. But if it were me, I would translate it to, well, you're stupid. You decided you don't know WebRTC, but you'll get the AI to build something with WebRTC for you. Just forgot a few things, and it's likely because the resolutions are not good. You're not, you know, checking the sizes, so there is CPU issues. And on the channel side, you need to do a lot of other things to get it to this scale of a room. Then you just skip that part, or your AI skipped it because you don't know and understand enough of WebRTC. And I think that also comes off what Filippo wrote, which is you need to understand really, really well what it is that you're doing to direct AI to do it properly. Otherwise, you're going to do things that won't really work, not in real life, and not when, you know, actual media comes in and actually networking is going to, you know, meet the issues that you have. Um, I guess it's not a secret as all of us are now using Claude to some degree.
Sure.
And probably— are you paying for Max, by the way, or is it only me?
Yeah, no, I'm, I'm not, but, um, but I— no, I do use Claude all the time for sure.
So I started with the $20 It lasted for 3 days until I had to move to the $100 after being put, you know, in the corner by Claude multiple times a day. And we got to the $200 after 2 additional days. It was that simple. Um, yeah, so when I did the recent— I did the redesign for my blog. I thought it was simple. Okay, not related to our RTZ, but is related. We'll get there. So I wanted— I got a suggestion to make a change in the home page, in the CTA, in the hero, where things— marketing words. I said fine. I gave it to the designer that I had at the time. She did something, I didn't like it. I told her, she did something else, I still didn't like it. I got frustrated. I knew that this is not going to work. So I did what every sane person would do today. I went to Claude Design and told him— I went to Claude Cole, told him that give me a prompt for Claude Design. That changes that part of the CTA the way I want it. I gave that prompt to Claude Design, didn't even read it, it's too long. And it gave me a new homepage, not a new CTA area. The problem was that the homepage looked nice. And that meant that I can't just go and put the new homepage with the developer that I had. I had to say, well, you know what, I need to redesign everything. I said, well, it's Claude, you know, what, what, what can happen? It's just the weekend, right? Um, I think I started it on Thursday evening, like every stupid story starts, and on Sunday I was full of frustration because it didn't work. Done to the work I did, I had a nice design for all the pages, I had the plan there, I had the skills for building websites I did all the planning because I know WordPress well enough. I'm not an expert, but I know it well enough. I knew that the theme that I did wasn't going to work. I knew that there are going to be issues with it. I wanted to do it with Gutenberg blocks so the API, like Claude, will be able to go and do the changes that I needed to do. But also me as a human, I can go to the backend and do the changes manually. It never did work. So After that weekend, I understood that there is a problem. I stopped everything. We started from scratch all over again. I did more skills around WordPress, try to understand what's wrong. It just didn't work. So I just, I said, enough, I'm going to do it with Cloud, but I'm not going to care about the backend anymore. As long as it's working, I'm not going to— if I open the editor and doesn't look nice, that's— I'm just going to ignore that. Every time that I try to make it work well and behave nicely with WordPress, I failed. Um, and you know, I, I'm a developer, I can read the code, understand, it's like it just didn't work. Um, now what went wrong there? I probably should have used a different theme. We used the theme, but then Claude decided not to use it without telling me and just went using Gutenberg directly and said, you know what, we're too far off, let's just use it that way, which was fine. Right. All the WYSIWYG stuff that uses AI for WordPress weren't that good comparable anyway. And it was good enough for me. Because yes, that blog and site is how I seem outside, but it looks okay on the outside. It runs at the scale that it does just fine. It's probably even a bit faster now because it has less plugins and bloat. On the backend, I can't edit it manually, but hey, I have Claude to do things for me today, which is fine. Like, you know, updating stuff, adding pages, removing pages, it doesn't need me much, so it's okay.
Yeah.
Now let's go back to the WebRTC part. Let's say that you're just like me, not an expert, but you're new dangerous enough, right? Is that enough to be able to build something with WebRTC that works at scale, right? It actually has users on it and, you know, data is flowing. I don't know. It's like, it's not simple.
Yeah.
Um, and it's not as if you can go off and say, well, here are a set of skills for WebRTC, or I can go and let it from the internet and find something. You know, I had one of the pieces that I had was I needed to build and just embed the KITT form into the site. How— again, what can go wrong? So you go, you build that in KITT, you tell Claude, go put that inside. He puts it, it never looks well. Any change, I'm like, the CSS is not exactly right. So he plays and plays and plays and plays. And after half an hour, I said, no, let's stop it. Go research what you're doing wrong. There must be best practices for that. He goes, finds it out, rolls back everything, does something differently, and now it works. So we didn't search for that even, although KITT is quite common. It's not, it's not an unknown. It's not as niche as WebRTC, I would say.
Right.
And that's where the problem starts, I think. If you're not using AI to build code for WebRTC, there is a problem because you should use AI for everything today, not meeting friends, but maybe also, again, we can discuss that. And if you are, you need to understand and know what it is that you're doing with it and where it's the role of AI to do these things and where it is your role to do these things. Exactly. And when you take it to someone like Philip, that is like— there aren't many experts like him with WebRTC. Then he's got— he became godlike in— he's superhuman with WebRTC now. He can do whatever he wants on whatever platform, you know, he wants, at whatever rate that he needs, and he can get things done there. He can work around everything to get the things that he needs to do. Inside of WebRTC itself, which is not a simple codebase, and he can get the exact results that he needs really, really quickly. Not many can do that even if they want to because they don't have his level of experience and judgment with WebRTC.
Exactly.
Luckily for us, experience still matters. Less so than it used to, but then The nice thing— I'm like blabbering all the time now. Something nice that I heard a week ago was that AI makes experienced developers be able to 10x or 100x whatever it is that they're doing, which is great. The only thing is it does the same for the worst developers as well.
Bad habits, right? For bad ideas.
10x the problems that they make in your company. Yeah, that's a good thing because now we can actually notice that a lot faster, right?
Right.
So AI is for everyone, but you need to understand what you're doing with it. I think that's, yeah, the moral of the whole story.
Well, and I think the moral of, of Thibault's blog post was, is that, you know, he, he's a C++ guy and he talks about how AI now allows him to contribute in other applications of WebRTC too, about contributing to the Pion project because he doesn't, he doesn't like the Go language, but he can do it now. And, you know, with the help of AI tools. And so that's a perfect example of AI tooling augmenting expertise that you already have. It's certainly not replacing the expertise Philpo has because as you said, it's like godlike, his knowledge of, of WebRTC, right? But even, even for more mere mortals in, in, in WebRTC, there's still so much, uh, as he described it in the blog post, oral lore. Things that are institutional knowledge that those of us who've been working in WebRTC for so long know these best practices, know how to tune and scale things. And that's not— it's not common knowledge. Not all of it is published knowledge. A lot of it is just developed expertise over time. And so there's really not— you know, AI can help you build a great prototype. And that's one way it's changed the work that we do in our team is that more often will be able to do a quick prototype as part of a product project proposal, for example, to kind of help visualize how this is going to come together, how we might do it, that sort of thing, to experiment with an idea quickly. And those are fantastic ways to augment the talent of, of a team. Right. But that doesn't become the same application that gets delivered to the client. Right. Because that's where you get into all these other things where I think that AI tooling doesn't help as much around the scaling, the debugging, the tuning of the application. That's where the, you know, I think those oral lore things come more into play.
Yes, it speeds up the work of an expert. I started working on the new video API report that I have. I'm working on a new refresh for that, on an update. I used AI. I said, let's, you know, let's make a shortcut. So I sent Google Research— I used Google Research, Deep Research, a lot for that. My friend doesn't know. It's like I, I got put on the sideline on that platform as well because of using it too much. And then I had to read the actual reports that he got me. So a lot of it was pure gold because they didn't need to go and search for these things. Some of it were stupid, like, to the— he takes tangents of things that he finds on the internet and veers off there and like, no, it's not there. You need to just, you need to pull him back in a lot of ways.
Right.
So you still need the brains, like you can do a lot of things with it, but you again need to understand what it is that you're doing. So it's a really powerful tool, really useful, but it's not a standalone thing, not in many of the things that we're doing. Especially not in these niches that nobody has optimized it for on the training side. And I don't think that it ever will be because it's such a small niche, right?
Exactly. There's, there's only so many, um, you know, uh, watch party applications or telehealth applications, and they are optimized in very different ways, uh, for sure. And that's one of the things, like, AI tooling I think is great, like, like sort of the— I think this fits with the story you were telling about kind of reworking a WordPress site into something that— and letting Claude essentially re-architect it as it went. And, and you might ask it in the future to make a small change and it re-architects a large portion of it as part of it. And in a way, that's okay from your perspective, right? Because it can be a bit of a black box. It's going to manage all the— manage, manage all aspects, the details of it for you going forward. But with WebRTC applications, we need to see those details. It can't be a black box to us if you're going to tune it and scale it. And so I think that's a key distinction.
I think there is another one. There is a lot more moving parts in WebRTC that would end up affecting users in edge cases that just don't exist on the WordPress site. Mm-hmm. That's— yeah.
Yeah, a lot more training data out there on WordPress than there is in WebRTC, to be sure. So, all right. Well, Tsahi, obviously we could talk about AI tooling for a long time, but we'll stop there for now. But as always, thank you for sharing your insights with us. To learn more about Tsahi's work, check him out at bloggeek.me. To learn more about future episodes of WebRTC Live, check us out at webrtc.ventures. Thanks, Tsahi.
Thank you, Aaron.
More from Tsahi

Meta rebuilt AV1 for mobile scale. Should smaller teams follow? | Chats with Arin









