Transcript Collector

Vibe Coding - yay or nay?

2026-05-07 ยท en-j3PyPqV-e1s manual

Open YouTube
In this episode of search.
Off the record, I'm talking to John about vibe coding.
We talk a little bit about what it is
and what tools we have tried, what our experiences were,
and where we think these tools help us already,
and where they might not be as helpful as they want to be.
And we also want to hear from your experiences.
So let's dive in.
Hello, and welcome to another episode of search
off the record, your podcast coming from Google Search
relations right to you.
Wherever you're listening to podcasts,
we want to take you behind the scenes of search a little bit
and show and tell you a little bit of what's
inside of our heads.
With me today is John Mueller.
Hi, John.
Hi, Martin.
Same team, same place, same fun.
John, I want to talk to you about vibe coding websites.
OK, let's do it.
OK excellent.
I think there's a lot talk about AI becoming
a tool that kind of fire and forget, and you can do anything.
You can create videos, you can make music, you can do whatever,
including making programs and websites and apps and stuff.
And I tried it.
I finally tried it.
I tried AI Studio this time.
Did it work.
It was great, actually.
I wanted it to build me a website.
A static website didn't need.
Well, not really a static website.
I wanted it to build a client side tool with some JavaScript,
and it did that really well.
And the nice thing is, I was surprised that I could actually
read the code, and it looked more or less
like a standard Next.js application.
I wasn't too like thrown away with how
the weird setup sometimes looks like when
you have other people writing code for you.
So that was nice.
But then at some point, I got into a loop
where I asked her to not do something and it vibe coded.
It literally kind of vibe coded because I
was like and use this library.
And I was like, no, no, I built this myself.
And I'm like, no, no, no, no, don't do that.
Use this where I know it works.
And it's like, OK.
But it lied to me and got stuck.
And then I asked it for a half an hour.
I tried to make it not do what it wanted to do,
and want to do what I wanted to do.
And that was weird.
Did you try something and did you have other results
or did the same happen to you.
I've been making a lot of websites,
mostly for myself and to test things out using vibe coding.
I don't Martin.
Just an aside, was the UI in purple.
No, I heard that from many people.
It was an interestingly enough, not in purple.
OK, nice.
OK just checking.
So I think maybe taking a step back.
Vibe coding is this fancy new term
that someone came up with from the AI world
where basically you have an AI system, write the code for you,
and you basically talk to the AI system using English.
Or I'm pretty sure you can also do all of this in German
or any of the other languages where you basically just say
like, hey, I want a personal website
and it should look like this.
You describe what you want it to look like,
and it should have these pages on it.
And then the system goes off and basically creates those pages
for you, those files.
And basically from a technical point of view,
you have to do an additional step
after that, which is basically take these files
and put them on some server so that they actually
run as a normal website that you would do.
And I think the allure a little bit is well,
you speak to the system in English.
You don't have to know JavaScript
or any other programming language, basically.
And it goes off and does all of this technical stuff for you.
And then you take the output and you put it somewhere,
and then you have a normal website, which, practically
speaking, nobody can really recognize
as being like, this is a vibe coded website.
Of course, if you use some of the frameworks or platforms that
are used commonly by vibe coding,
people can recognize those patterns,
but otherwise, it's a normal website.
And I think one of the things that is perhaps tempting
is to take it to the next step and say like, oh, you should
also create my content for me.
It's like, now you made my website look nice,
but why don't you write an About Me page that
lists all of the things that I've done or is like,
why don't you write a marketing page that makes sure
that everyone clicks buy.
Which is like, sure can do that.
But it's not something where I'd say, where are you getting
the most value out of it.
Interesting yeah.
I mean, with content, with content,
it becomes tricky because then why would I
visit a website where party content has
been written when I can just talk to the eye directly, right.
But with the structure, I mean, if you're using frameworks,
then most of the things look roughly the same.
Interesting is when I apparently prefers purple.
So if I see a purple website, then I can ask myself,
is this really the preference of the editor
or the author of this website.
Or is this something that just happened because it
was Yeah, it's kind of weird.
I think also one of the things that is from my point of view,
kind of interesting is one of the selling
points is that you don't have to know how to code.
I was about to ask you that.
Yeah is it this fire and forget kind of thing
where you just describe it in English and plain English,
I want this with that and this button and this thing
and this, that.
And then it just generates the right thing
because it worked for me this one
time of 90% I think it depends.
It depends on the complexity that you're trying to do
and the long term setup that you want.
And also the almost like the cleanliness that you want,
because it can definitely create a generic website based
on the information that you give it,
but it will make a variety of assumptions along the way.
If you go and say like, I want a personal website
and these pages, it could go off and say,
well, I'm going to use a static site generator because those
exist, those are easy to use, and I will create these pages
for you.
Or it could go out and say, well, I
have all of these JavaScript frameworks
that have a lot of open source documentation and tooling.
I will make a JavaScript based website for you.
Or it could go out and say, well, actually you probably want
a CMS, and therefore I will create this complicated system
that has a database backend that lets you edit your homepage
and all of this stuff in a browser kind of thing.
All of these are reasonable assumptions
where if you talk to a developer they will also
make these assumptions.
But if you just tell the AI system like I want a website,
then it will pick one, like in ideal case,
maybe it asks you some questions like what do you actually
want to do with this.
Are you going to make changes or not.
Do you mind working in GitHub.
Do you want to do it in a UI.
Those would be reasonable questions to ask,
but often the system will just go off and say like, sure,
let me take care of this thing for you.
And then it goes off and does stuff.
So that's the kind of thing where
I think if you know what you're doing with regards how
to make a website and you have a concrete idea where you're like,
well, actually, I want a static site generator because I just
want to copy and paste the files to I don't Firebase hosting
or Vercel or anywhere.
Then you can tell it that ahead of time, when
you're setting this up and it's like,
hey, I want you to create a static site using maybe
my preferred framework and here's
the setup, the structure that it's supposed to have.
But for that need to have the technical understanding.
Yeah, exactly.
That's where I think the technical understanding comes
in.
And especially going to take a little bit past that
and you're thinking like, well, what about SEO.
And of course, in the end, you can always tell the AI system.
Now add some SEO to it.
But, how that works out is if you go to a developer
and add some SEO and it's like, what do you mean.
Sprinkle some meta tags and add some structured data.
It's like, what do you mean, add some SEO.
So those are the kind of things where
I think if you have the technical understanding.
You can guide it from the beginning and you can say,
actually it's like when you create my site,
I want you to do this and this.
Make sure that the pages have, I don't
canonicals here's the domain name I want to use.
Make sure to set up a sitemap file
or whatever that you're trying to do.
So on the one hand, knowing what technically you kind of want
helps to get there quite a bit.
What also helps a lot is if you understand things like how
a deploy script should look, or how a presubmit should work,
how a linter works, those kind of things,
then you can also include that in the configuration that you're
setting up, so that you can essentially say like,
this is the structure you should create
and you should make sure to before publishing,
make sure that these URLs all return content.
Make sure that I don't none of the JavaScript files
are blocked by robots.txt.
And it's create a robots.txt file
and make it useful of thing, all of these small details
that help a lot.
And I think especially the pre-submit stuff
is something where for a lot of the mainstream frameworks,
there's a lot of tooling out there that helps to make sure
that oh, I built this site and I published it
and it's actually I'm publishing the right thing.
I'm not publishing my source code and all of my API keys
or whatever you're doing that keeps happening to people.
I keep seeing that accidental.
Yeah, API key publishing.
But all right.
Assuming that it can build these things.
So it's not like a one click more or less kind of thing
where you just say some plain English
and then get whatever you want it back.
You need to still have some idea of where you want to go
and some of the technical lingo, because that
helps steer the output.
But when it's created, I also have to test it
and depending on what I have asked it to do,
testing manually might be a bit tricky.
And also when it fails in subtle ways, I mean,
if it fails with an error message,
you can just give it the error message.
You can say like, oh, I clicked this button
and then I got this error.
Can you fix that please.
I think please makes it more expensive.
I don't know.
So one of the weird things I heard,
or I read somewhere in one of the random leaks that happened
from the AI labs, is that they have dashboards specifically
for the coding tools about how often people
curse at the AI system.
Oh, OK.
Because it's like a sign.
It's like, oh, it's like our system did something wrong.
And like, it's sometimes just enough to count,
how many times people are cursing at it.
So I'm not saying that you should or I'm not
saying I'm also not judging.
If you're screaming at the machines, whatever.
If it's a toaster and it burns your toast,
like maybe it does good to scream at it,
but it's like you're using the toaster to make toast.
It's not the toaster's problem.
That toast burnt.
Oh, OK.
But is there a way for me to also use the tool
to have it test itself.
Or does that fall short because it doesn't actually
know what the expected.
Because I remember back in the days,
we used, I think it started with Selenium, and then at some point
used Puppeteer to remote control a browser from code.
But you would have to write that code so that it would actually
go and fill in the registration form,
put some products in the cart and so on and so forth.
Can I help you with that as well.
Sure like can you code this as well
and say like also test this thing in the browser.
I mean, at that point you really have
to have a strong technical understanding of what
you want to do.
I think maybe there are ways to go at it naively,
but basically for pretty much all of the mainstream
AI systems.
They have this mechanism for plugins, which is, I think,
like MCP, and there are other tools and skills
that you can set up.
I don't really understand all of them.
I don't have that much time to spend on,
not spending time with, I don't weird,
but they have this notion of plugins basically.
And there are tons of plugins out there,
including things that test pages from a static point of view
to understand, oh, is your HTML actually valid.
Is it reasonable HTML.
Is it semantically structured.
And also including things like browser use agents,
where basically it will spin up in the back end,
something like a Chromium browser,
and then basically use that as a way to I
don't access your pages.
So it could do that if you're hosting it locally,
if you have something like when you set up your site
and you have it hosted on a local port kind of thing
are like local server, basically local server.
Yeah So it can do that.
It can also access the live web page.
And a lot of course, depends on how you set things up.
So I basically just have a Unix Linux computer at home
that I can access where I have my stuff on it and on there.
I have this Chromium agent setup so
that it can use Chromium to access the pages.
And basically because it uses the AI system
to access your pages, it doesn't have
to know the exact IDs of the elements to click on.
It doesn't have to know the exact coordinates
to click those kind of things.
It can basically be controlled by text.
So one of the things, for example, that I did
is we like the apartment where we live.
They set up a weird rental portal website kind of thing
with I don't fancy React app, which apparently this
is how things are done now.
You don't get mail anymore.
You have to find your PDFs on a website somewhere,
and it's a really annoying thing.
And I don't know who coded it.
Maybe it's also vibe coded.
That would be weird.
But I basically used an AI system
to access that website using Chromium and to click through.
And if there is a cookie banner, just click Accept.
When it has a list of files, you should
check the files for new files and download any which are new.
And you don't have to go in and be
like, oh, Cookie, banner has this ID
and you have to click on this button with this ID
and you have to send it a click event or a post or whatever.
You basically just tell it if there's a cookie banner,
just click OK and get back to work kind of thing.
And that I think is really fascinating
where you can do these complex things that in the past
you could also do, but now you don't
have to spend as much time focusing on all the details.
For me, figuring out how to run Chromium and click
on a specific element like that would probably take a day.
I don't know.
It's like I haven't used it in a long time.
I don't have that much experience with what is it.
JavaScript, TypeScript.
I don't even know the language that's so awkward.
But I can go and tell it roughly what I want,
and it can create some code that does that.
Obviously, taking this code and creating a version
to sell to people is like completely different story.
But for me, for my personal use, it works fine.
Interesting but you would argue that you don't
have to know any technology.
You still have to know roughly what you want,
and you have to know enough to be inspecting what's going on.
I don't know.
I think maybe that's also just a bias
that I have which is hard for me to evaluate because I basically
I understand the command line tools,
I understand the basic infrastructure.
And if something goes wrong, I'm like, oh, you stupid machine,
you clicked instead of swiped kind of thing.
And you did this and did this in Chromium,
can't you try it in Firefox instead kind of thing
where I basically tell it specifically what I want,
but how much of that would just work if you told it vaguely?
And he was like, hey, this didn't work.
Try again.
I don't know.
I think if you're selling a service
and you have things like user data in a database,
then you probably want someone who
understands what they're doing.
But if you're just making something for yourself,
if you're making a static site for trying things out.
Or for a friend that just wants a website like that,
seems like the low risk kind of situation
where make something a little bit more fancy,
but it's not like I don't something
will break or burn down if you do it wrong.
Yeah for me, I wonder how much bias
is in there as well, because of course I'm a software engineer.
I to write my own stuff, but I tried specifically
to use AI for situations where I was bored enough to not like.
It's the thing I need to do, but I really
don't want to have to spend too much thought and coding on it.
So I try to counteract this bias by doing projects
where I was like, I need this thing,
but I don't want to spend time on it
and then want to offload the time.
And at first I was very impressed
how far I got very, very quickly.
What was a bit tricky for me was that I noticed at some point,
I got stuck, and I'm not sure if it's
because I used only one tool.
I might have actually tried other tools, probably.
And the other thing is, and to be fair,
that kind of tells me that my bias wasn't too big here.
I didn't really look at the code much.
So I don't know how maintainable it is, because that's one thing
that I was wondering.
Yeah I mean, I doesn't have a notion of cost of work.
It can just add code and code and patch
and put layers upon layers upon layers.
Whereas you, as someone with experience
might go, no, if I do this, if I patch it now, this quickly
and by adding this additional layer,
then that will come back later and bite me,
because I then have to deal with this additional layer.
I don't think AI has this notion.
I think that's something that definitely happens.
And you definitely see it if you understand code,
because you ask it to do something
and it's like, well, I have to do this common thing,
but I will just write my own code to do it,
rather than using your shared library that you
set up somewhere, or the existing
shared function that you already wrote last time.
It's like, oh, you need to these elements.
Let me write a custom sort function for you.
And it's like, well, you can, but this is not
what I would recommend if you wanted to work in a group
together with other people.
And you have to maintain your code for the long run.
But I find those are also the kind of things where
I can help you to refactor a little bit if you understand
what you're doing.
Oh, where I notice it, for example,
with some home automation things that I do.
I use home assistant, which uses primarily YAML files
for configuration.
It also has this whole web UI kind of thing,
but it uses YAML files.
And because of that, there are a whole bunch
of GitHub repositories with all of these YAML files.
It under, like the AI system has a lot of training material
to work on, and it basically can generate
these YAML files for you.
And I took a bunch of the things that I created over the years.
And basically told it to hey, does this still make sense.
Is this kind of modern use of the functions kind of thing.
And for some of them, it really came back with some good ideas
on how to do things differently.
So I found that kind of useful.
That is indeed nice.
So you set up your site or I guess your page or your tool
with AI Studio tool.
Yeah web app.
And did you end up publishing it or.
No that's when I hit the.
So I don't know why, but I was basically using I was like, OK,
it's working now ish.
I want to click on Publish.
And then it was like, OK, so now let's
integrate with Google Cloud.
And Google Cloud is a great platform,
except that in this case, I was like spinning up a project
and then dealing with the billing and all that stuff.
So Google Cloud is great for bigger projects,
but this was basically just HTML, JavaScript and CSS.
So I would have loved to see a range of options
where I could publish.
What I didn't think about at the time was
I could have exported all this thing as a zip file
and then just deploy it separately.
But then I have a lot of manual work again,
and then yeah, no manual work.
Yeah so the things I've started creating, I guess,
mostly test websites for me to try things out
to see how requests are made from Googlebot with
regards to all of the back and forth stuff there.
Most of them I created using Hugo as a static site generator.
Hugo I think Hugo, Hugo.
Oh, God.
Now, I don't know how to pronounce like trivial names.
Basically, I had it set up the whole setup for me
and I published it to Firebase.
Firebase hosting.
Wow OK nice.
Which has this free tier kind of setup thing.
And it also connects to Cloud functions
and has some basic database backend kind of things
that you can use.
And basically I had it create all of this website
and tried it out locally and then published it
to Firebase hosting.
And it basically told me what I need to do
is get the key here, put it in this file kind of thing
and trust that it doesn't steal your key
and hallucinate it for other people.
I don't it seemed pretty safe and I
had it set up to use GitHub as the storage place.
I think something like GitHub makes
a lot of sense for all of this stuff,
because you see all of the previous versions, which
is something that I'm super paranoid about with all
of the vibe.
Coding is like, I tell it to do something
and it's like, hey, I deleted everything and started over.
And then if you don't have a backup
of what the previous state was, it's like,
well, sucks to be you.
Yeah, maybe it works, maybe it doesn't.
So that basically worked out, I think fairly well for me.
And then it also set up the GitHub actions,
which basically mean that whenever
I make a change in the GitHub repository
where it stores all the files, it automatically publishes
it to Firebase hosting.
And this whole process kind of worked really smoothly
with regards to SEO.
The main things I looked at there
were, are these pages kind of reasonable HTML.
And they were and do they link out properly and they do.
So all of that I think mostly worked out.
Oh that's nice.
Yeah what tools did you try so far.
I initially started with something in VS Code.
I think it's Copilot.
They have some plugins for different AI systems.
But then recently, I switched to the command line tools
like Cloud code and Gemini CLI.
Oh, OK.
What I find interesting with those command
line tools is that you basically don't look at your code anymore.
You look at it on GitHub.
You see what happened there.
And if there are variables that you need to edit, setting files,
things like that do that manually,
but otherwise you interact with it primarily
by writing things out.
And I do that by writing things out in a Google Doc
and copy and paste them into the CLI system.
And then it does that.
And I find it almost like a more natural way of interacting.
And what I find interesting is both of these systems
have a notion of agents that go off and do things that
do things in parallel a little bit, that run things like tools
and other functionality in the backend.
So you can tell it like, hey, this is not working.
Can you check the logs to see what went wrong.
And in the back end it'll know.
Oh it's like you're using Firebase hosting.
The logs are hosted here.
The Project IDX you told me that already,
and then it goes off and uses the command line
tools to look at the server logs and figures
out what it needs to do.
So all of this kind of back and forth
functionality is available or is kind of happens for you
automatically.
It's a lot less of the old style use of AI
when I used it for coding, it's like you go to ChatGPT or Gemini
and it's like, hey, write me a JavaScript
snippet that does this.
And then you copy and paste it into your thing.
You basically tell the full thing
and it kind of takes care of the whole process.
Well that's quite nice.
I think with regards to maybe future looking things,
it feels like people are still deploying Drupal websites.
So yeah, it's not like these old like old school, oh my God.
It's like web is so fresh.
But it's like these old school jobs are going away.
People will continue to use Drupal and PHP and WordPress
and whatever, but it feels like a lot of the simpler things
are easily possible with this kind of vibe coded setup,
and especially if you know what you're doing,
or if you work with someone who knows what they're doing,
it's easier to make sure that it's not
like this hallucinated framework kind of thing that
looks like a website, but it's actually
just a giant GIF like could also happen or PDF kind of thing.
With all of the tooling and testing stuff around it,
I think it's possible to get reasonably far with this setup.
God, I feel like I could talk about this forever.
Good I'm so sorry for all of the listeners.
Keep going.
I learned things here.
What I found interesting is also because Gemini app CLI and Cloud
Code.
They basically use a terminal window for interactions.
You can just SSH into your website like from anywhere
and basically tell your system to update the website.
And that means you can run an SSH terminal on your phone
and you basically can use the voice to text mode
to enter stuff.
And you tell it what to do and it will update your website
like that.
I used this recently on a flight to the US.
There was Wi-Fi and I was like Wi-Fi is kind of spotty.
And doing something with a remote desktop
kind of environment was super annoying and slow and flaky.
But in a terminal window, doesn't use a lot of bandwidth.
You can do reasonable things and try things out.
That's true.
So I don't like I also saw some photos of this developer office
where people just have microphones and are whispering
to your computer kind of thing, which I don't know that feels
kind of weird, but it's definitely
an interesting way of coding when you don't have
to think so much about, what is the exact parameter
order for this function in JavaScript that I think exists.
Or maybe it's in Python.
I don't know where you basically tell it to add functionality,
and then you think about it a little bit more
as what do I want my website to do.
Rather than oh, it's like, which functions do I need to write.
True And the other thing that I'm seeing
is especially from the experiences that I've seen
and what you just said, whenever you are starting a project
and agencies tend to do that, a new customer comes or customer
comes with a new project, you have
this setup work even if you just set up Drupal or whatever,
and you might have some templates,
but then each project is oh yeah, that template fits.
But then we need to make these seven different changes.
And that just takes time and is not creative.
Interesting work.
It's tedious most of the time.
If I can do that and walk you through that process
quite quickly, then that would be really, really helpful.
I think you could probably do this
in minutes instead of hours.
And then when it becomes interesting
where the more subtle things happen,
I think that's where human time becomes valuable again.
I think that's yeah.
Yeah, I think for the Search Central audience,
being able to spin up websites quickly to try things out
is super helpful.
Making your own kind of web based tools is super easy to do.
If you want to see if your website is crawlable,
you just have it create a crawler and you try it out.
These things are super easy to do with regards
to agentic access, where it's like I don't maybe it goes off
and accesses Search Console using the API thing.
I don't know how that will evolve or any of it's like, oh,
look at Google Trends and then write me some articles
about the top trends.
That just feels like spam at that point.
But there's a lot of work to even just generate,
like a mock of a website or a mock of certain pages.
And a lot of that can be made it a lot easier
when you notice certain workflows that you keep
having to do where you need to take a data piece of data
in one tool, and then from that one tool to the next tool,
and then from that tool to the next.
You can probably pipeline this with AI as well.
Yeah which is what I sometimes do.
Yeah interesting.
Cool thank you so much, John.
I think that was really, really insightful
and especially hearing your experience with different tools
and how that related to the experience
that I just had was interesting.
I would like to hear from our audience in the comments
as well.
What tools are you using.
What have you found.
Where do they fall short of the promised land, which
is just whisper into a computer and the right thing falls out.
And where have they surprised you.
Positively I'm just curious to hear what people out there have
been experiencing.
Yeah all right.
Sounds cool.
Thank you so much for being here, John.
Thank you so much for talking with me.
And thanks to all of you out there for listening.
I'd like to say goodbye and wiedersehen.
Bye we've been having fun with these podcast episodes.
I hope you, the listener, have found
them both entertaining and insightful too.
Feel free to drop us a note on LinkedIn
or chat with us at one of our next events we go to.
If you have any thoughts, let us know.
And of course, do not forget to and subscribe.
Thank you so much for listening and goodbye.