# NPTEL Webinar on Vibe Coding - Transcript

Hi everyone, good afternoon. We will be starting the webinar. My name is Anand, your guide for today’s webinar. We aren't going to do this in a very formal way. This is going to be a workshop. **In a workshop, you do the work.** I just generally talk some random stuff, but ultimately you are doing the work. So, let’s go right ahead and enjoy ourselves.

Let’s start with what vibe coding is. Who knows, who cares? Let's find out what vibe coding is. The nice thing about what Google’s done recently is they’ve introduced an AI mode, and I find this particularly powerful. You just click on it, and you have Gemini answer the question. It says, "It’s a software development approach where natural language prompts are used to direct AI agents..."

I never had patience when I was young. I’m old, I have even less patience. I’ve been scrolling through social media, my patience has come down even more. With all of these AI tools explaining things to me in the way I want, my patience is zero. So, one of the things that I usually do when this sort of thing comes is: Look, this is too complicated. ELI15. ELI15 is a take on the "Explain Like I'm 5" (ELI5) acronym. Just tell me like I'm 15 years old; I don't understand complicated things.

So it’s saying, "**Vibe coding is like building apps by talking to a computer** instead of typing out thousands of lines of complicated code." Very good. Then why am I typing? I should really be talking to it. It is basically saying vibe coding is building apps by talking to a computer. Okay, good enough. I'm not going to listen to the rest of it.

What can I build? I don't know, you tell me. I don't know what kind of applications I can be vibe coding. Why don't you tell me what kinds of applications I can vibe code? Obviously, it does a terrible job of spelling some of this stuff, but who cares? It’s saying in 2026 it's best used where speed and design matter more than complicated things. So it is saying I can build a tracker. I can track my habits, personal budgets, workout planners. That is useful.

By now you would have figured out two things. Number one: I don't know much stuff. I just ask it anyway. It is smarter than the average person; I am an average person. So why not use its brains? In short, **if I say something and it says something, trust it, don't trust me.** Second, **don't ever be stuck anywhere because you have something or someone that can give you the answer to almost any question**, and if you don't have a question, it can tell you what questions to ask.

So, what are we stuck for? Let’s just go build it. Next, I want a place to build this. This looks very interesting. I don't know where to build all of this stuff. Can you give me some ideas for sites where I can go build this? Keep in mind that I am not going to pay for any of this, so it had better be free, and it should be easy to use.

It’s saying I can build this on several free-to-use sites. It’s saying there is Replit, there is Base44—I have never heard of Base44—Lovable I have heard of. Google AI Studio, yes, I’ve used this. It’s saying start with Replit or Base44. Since I have never heard of Base44, and this is a workshop—the point is to do work and get stuff done—I am going to go to Base44.

I’m going to click on "Build it for free." It’s saying just "Build now," but I don't believe that just by typing it without me even logging in it will actually build the application. Maybe I need to log in. But here is the thing: the point is just to go ahead and do stuff. It said some trackers and all that. "Habit trackers with streak visualizations" sounds interesting. So I am going to just paste and say: _Habit trackers with streak visualizations._

You'll notice that I am not putting in any detail. I am not saying what I want; I am putting in what Google AI mode has said is a decent application. I am doing zero thinking, zero effort. Is that a good thing or a bad thing? I don't know, but it's easy. Now it is asking me to log in via Google. I will create a beautiful habit tracker. It is putting together a plan, some design language, component structure, and it is writing stuff. And this is the fun part of AI applications where they take time. Thank god for that, otherwise my brain will explode. So, now we get a breather.

Let's go through some of the chat messages. `read.ai` meeting notes has been added to the meeting. Personally, I think this kind of a thing is really powerful because what we can do is attend two or three meetings simultaneously. Have the note-takers take meetings. Put it into an AI. Sometimes these note-takers can even respond on our behalf. Very useful. And then I can ask it questions like: _Who spoke the most? Were there any actions on me? What am I supposed to do?_ Better yet, _do it for me._ If somebody told me to build an application—or somebody told me something which I can solve by building an application—just build the application for me. It's almost like I can multitask, clone myself, all kinds of things.

Okay, let me summarize where we are so far. We learned, sort of, what vibe coding is. It is roughly **talking to a computer and getting it to build applications.** We learned what kinds of applications can be built. It said trackers, generators... I didn't read the rest of it, but there's no point in me reading out what AI can give you when you can ask the same question and get the answer. My guess is it can build anything that any code can build.

But that now actually means, hold on, why should I pay for Microsoft Office if I can build or vibe code Microsoft Office? Maybe we are not there yet. Maybe we are one year away, maybe we are two years away. But I can see a future where, partly, I don't need to pay for what I want. I can have one of these build it. So if I pay for these, then most software companies are going to be out of a job anyway. Which also probably means most software developers are going to be out of a job, I don't know, we'll see.

But secondly, it also means that **the imagination becomes the bottleneck.** What Excel does is one thing. Knowing that _this_ is what I should tell Excel to do, or these are the features that I should offer in Excel, _that_ requires a certain kind of genius in itself. Maybe AI can help me with that also, who knows? But at the very least, it strikes me that **doing becomes less important than knowing what to do.** And we are seeing that AI can help at least a little bit in knowing what to do. Let us see how far we can take it.

There are a whole bunch of sites that let us vibe code. Base44 says it's all built. In about three minutes, it has built an application. Great. I can publish it. I'm not going to read the text. It has created a page. Let me copy this and paste it in the chat window.

So now, this habit tracker itself seems to have a Google login. It says "Today." It's already finished my morning meditation for me, very good. Oh no, fine, these are the four habits. I have to click on this, I think. Oh, okay, click on "New Habit." Fine, it says I have initiated my morning meditation and it has read 20 pages for me. But ah, okay, I can un-click this. This is good. This is a proper habit tracking application. If I reload this page, does it remember what I had clicked on last time? Yes, it is remembering what I had clicked. So it is a working application.

Now here is the thing. Just two or three years ago, I actually spent $10 on a habit tracking application for my phone. Why? Because I have a whole bunch of habits, I track them, and I was using it for about one year and then I lost the habit of habit tracking also, so that $10 is down the drain. Now this thing is free. It is giving me a habit tracking application in less time than it took for me to _find_ that habit tracking application. What craziness.

So now, what we should do is start churning out application after application, replacing all the applications on our phone. I will just keep talking like this. **What you should do now is take something you want to build, go somewhere, and build it.** If you say, "Oh but wait, hold on, I don't want to miss what you're saying," I'll say useless stuff. This stuff is getting recorded. You will get the benefit of it _when you do stuff_. So at any point, just start doing something. **The success of this workshop is when you put a link in the chat window saying "Here is an application I vibe coded in this workshop."** Aim for 10 such applications. Doesn't matter what. If you've built 10 applications in the course of a one-to-two-hour workshop, then you have cracked vibe coding. You at least have gotten over that initial hump of actually getting some vibe coding done.

That's also roughly what I'm going to do. I'm going to explore the vibe coding space. A workshop is where we get work done. So let me learn along with you.

All of this is interesting, but I already have a $20 ChatGPT subscription, I have a Gemini Pro subscription from Office, I have a Claude subscription. How are these different from the kind of sites that you described, and can I use them for vibe coding?

It is thinking... it is saying "Charge BT subscription." I am guessing it will eventually figure it out. "Cloud subscription" also... okay. ChatGPT, it was sensible enough. Gemini fine. But "Cloud" it misinterpreted my "Claude" pronunciation. It is saying lots of stuff... Boss, this is too much for me to read. Explain like I'm 15, give it to me in two sentences.

Ah, okay. "**Your subscriptions provide the brains to write code, but they don't give you the tools to host and turn it into a live working app instantly.** To use code for free, use Google AI Studio. This connects to your Gemini subscription and a builder that runs the app for you."

Okay, fine. So this is telling me in practice why I should be using those applications instead of ChatGPT and all that. Now, this is where my brains actually come in. I actually know that you _can_ do a decent amount of vibe coding on ChatGPT, Claude, and Gemini Pro, etc. So I will be doing a little bit of that. But let us go back to some of the other applications that it said would be fun to build.

Generators... "Grocery list." This is not a bad idea. If I wanted to generate a grocery list based on recipes. But I don't need an app for that. I already have ChatGPT for that. If I give it a recipe, it will give me the grocery list. So not a big deal.

"Utilities" sounds interesting. "Book recommendation engines," "Note taking applications," "Travel itinerary planners." Yeah, maybe travel itinerary planners. I am going to explore some of this. But we already have Sri Lakshmi submitting an application on `opal.google`. Okay, Opal I have heard of, but I have never personally used Opal myself. Let's see... this is "WordMate: Get instant English-Hindi-Telugu word definitions." Okay, let me enter the English word to define. Again, this is too much brain work. Give me an interesting English word that is difficult to translate. Let us see how well it does it. "Sulk." Okay, let's give it "sulk."

And obviously, it's AI versus AI these days. Oh, it is going to generate English word audio also. That is very nice. Something went wrong. Okay. Opal is an experimental Google Labs service. But let's find out what Opal is about. So Opal is about creating, editing, and sharing mini AI applications using natural language. That is hardcore vibe coding. So my guess is Opal is when Gemini woke up and said, "Wait, all of these people are building applications on top of my models, let me also build an application, put them out of business like I usually do."

Let's take a look at what Vishwarup has shared. A Base44 app which is loading... where I can log in. And this is a habit tracker. Great. Probably using a very similar prompt where I can say I should exercise every day, create the habit... and then today I can mark it off as done. If I revisit this page, will it show today's habits done? Yes, perfect, spot on.

And let's take what Aniket has built. Which is... hmm, that's a "Location Alarm." Interesting. So I will allow it to access my location. And now I'm not really sure... okay, it's saying it's not able to get my [location]. Interesting. Aniket, maybe you could share the prompt that you used to build this in the chat window? That will help us understand what the application does.

But this is a typical learning for me. Once I vibe code the application, _I_ know what it does. The person _using_ it doesn't know what it does. So one of the things that I usually add to the application is documentation, roughly on what this app is, how it is meant to be used, and so on. Let me give you an example of one such application which I will also build for you along with you.

This is an application, vibe coded, that converts markdown to Unicode. For example, supposing I type: "This text is in **bold**" and I will put star-star around the bold. You'll notice that on the right side it is actually turning out to be bold. You'll say, "Wait, hold on, that is not a big deal, that is what HTML does." Except that this is a _Unicode_ character. Which means that I can open LinkedIn and I can create a new post where if I paste it, it will actually appear in bold text. Some of you may have seen LinkedIn posts where people put in italics, bold, or constant monospace characters. I basically wanted that.

So this was a utility that I vibe coded. And this explanation tells people what it's for. Now obviously it is not doing such a good job because if it had been doing a good job it would have said, "See, you can use this in LinkedIn." That is why it is useful.

What I will do, maybe in this session—worst case if not—I will tell it, I will vibe code and add documentation explaining what this application is and how to use it. But really, I should do this for this "Streaks" application. So what I'm going to do is dictate and say: _The application works great and it's really nice, but see, for a first time user who comes in, they may not know how to use the application. I think we need some kind of visual documentation or a guide flow, whatever, that definitely the first time user should be able to go through..._

Now you'll notice the second aspect of vibe coding, which is: When I get something, it may work, it may not work. But if it is working, I can make changes to it. In this case, it wasn't really a change, it was just "add the documentation" kind of a thing. But that is because we started off with something very simple. And most engines are able to do that today.

Let us try something a little more complicated. What I would like is ideas from you, or your AI friends, on something that maybe a little more complicated but still useful to you that you could build. And share that in the chat window. Let us together try and take something a little more complicated and build it.

But in the meantime, Shalaka has shared a "Finance Tracker." I think let's open that. This is again from Base44. Okay, proper dashboard where I can add my expense. Let's say spent coffee, $1 today, category was food and dining, paid by credit card, and add it as an expense. Okay, great. And yes, now what would be even cooler is as a next step to this: _Can I upload my bank statement and it can give me this dashboard?_ We anyway get all of these useless bank statements; we are not doing much with it. That, interestingly, is a very solid vibe coding use case. Where we take all kinds of data—all the bills that telecom companies send us, all our internet usage, all our mobile usage, what are all the calendar invites that we have, what are all the texts that we receive—all of that is data. Google Fit/Fitness tracking data, Apple Health... Great stuff to vibe code on. And maybe time permitting, we will explore a few of these.

Now, we are getting some interesting applications that we can possibly vibe code. "Grocery expense tracking application." Okay, BT is sharing one. That is great. You'd like to build a grocery expenses tracker. That's a great starting prompt.

Okay, here's an idea from Shivam: "**A website that turns text into music.** Extract sentiment and turn it into tasteful background music. That can be useful for content, cinema, social media, etc."

Let's try that. Now, what exactly... I obviously can't read Shivam's mind. The LLM will be able to do a better job of this. So Option 1 is: Just take this, put it in. But he can do that as well. What value am I adding? Like a monkey poking its nose in the middle and trying to make a mess of things. Let me see if I can turn it into something that _I'm_ interested in.

So, something that turns text into music. Text-to-music is great. Extract sentiment and turns it into tasteful background music. Now here is where 30 years of programming is stopping me. Sentiment analysis will require a little bit of work. I am lazy. I don't want to fail in front of you in a demo, so my ego is also coming in the way. So I am going to engineer it for simplicity and success—which is an absolutely stupid thing to do. So because I've already caught myself, I'm going to take two tracks. One where I take this and we'll try, we will fail. One where I'll take this, simplify it, and I know we will succeed. So we will have both routes. And that's another thing that I'm learning with AI: **You don't have to settle for one option. You can have 20 options.**

And turns it into tasteful background music. Okay, fine. So let us take this idea. And the next question is where should I put it in? I could put it into Streakly (Base44), but because I'm not paying on Streakly, I have my worries that it will suddenly say, "Oh, you've exceeded your quota."

It's finished this [Streaks app] tour by the way. This is a nice tour. Anyone who is starting the application, if they click on this, they will understand what the application is about. This is a great feature. I haven't been using this sort of a thing much. Let me publish it.

But now to build this [music] application, where should I go? I could put it on one of... let's say AI Studio etc. but I'm going to take Claude. Now, having seen a whole bunch of applications in the past, I find that Claude and Gemini have a pretty decent sense of UI, whereas ChatGPT doesn't have _that_ strong a sense of UI. Gemini would be just fine as well.

So let's say... now this time I'm going to dictate into it. But I'll notice that out here [in Claude] there is no dictation. So my go-to for dictation these days is ChatGPT. It has a solid dictation engine. I will just dictate here and paste here.

_Build me an application that can turn text into music. I'm not really sure what I'm asking for, but the idea is that if I paste some text into the application, then it should generate some really tasteful background music. My aim is to somehow use this for content generation for cinema or social media. But to be fair, my thoughts are also not very clear. So why don't you do this: **Do some research. Find out what kind of an application along this theme can be really useful and why.** Explain it to me. In fact, give me three or four options. That way I can pick from those. And better yet, to make it easy for me, simplify by telling me the pros and cons of this. If you have a specific recommendation on which of these options I should pick and why, tell me that as well. Then I will give you a go-ahead and you can build an application._

I am just talking to it to build the application. But in this case, because the idea is not entirely mine, I am asking it for ideas and planning. This in fact is formally called **Planning**. A whole bunch of these vibe coding agents have a "Plan Mode" so to speak where they actually create a plan.

While this is planning, let's go into some of the other ideas. Poonam has an idea: "Smart Student Dashboard that shows a screen with classes, deadlines, and so on." Poonam, fantastic idea, you should absolutely try and do this yourself. A dashboard is one of those great things. If time permits, we'll live-build a dashboard.

Pragati suggests vibe coding "Record Dreams." To record your dreams, journal it, and then be able to interpret them. Again, that is a great idea, Pragati. The best part is it's very similar to the logging applications, habit tracking kind of a thing that we just saw.

Biswaroop suggests building custom applications that can programmatically generate marketing assets via Canva Connect API and automate subscriber management and trigger emails. Which basically means, I think: Get/find the contacts and send them something interesting directly via email or whatever.

---

We may not be able to exactly build this right now without the API keys, but let's see if we can build some applications that can connect to something. There are tons of new ideas coming up, some of which we will revisit as we go along. But let's go back to Gemini.

Gemini is saying "fascinating challenge," and giving options. Finally, we have a recommendation. Option one: Suno was too flashy. Option three is something else. Option two: Build a tool where I paste a script, and it gives me a safe, royalty-free background track that matches the emotion of that spec. It suggests analyzing the text for sentiment, then calling the **Beatoven API** requesting a track with that mood. I never knew there was a Beatoven API.

Now, normally a vibe coder at this point will say, "Okay, go ahead, build option two." But the safe, 30-year-old coding veteran is too scared to try this sort of thing, so now I will do a whole bunch of cross-checks. For instance: Is this Beatoven API free? Can I just directly connect to it and use it? Does it need an API key? In which case, do I need to provide an API key? If I can't directly connect to it, are there some other equivalents that can provide the background music without needing any API key? That will make it easy.

We are now into the second stage of planning. Before building the application, I am doing a bunch of verifications. **Right now, I am in that mode of "let's make sure we don't fail in building the application."** But remember I said there is no reason why we need to stick to only one mode. We can go to multiple modes. So, let us go to Claude instead and give the original prompt: "Build a website that extracts sentiment and turns it into tasteful background music."

One of the things we could probably tell it is to actually build a website. It is smart enough; it should be able to figure out that it has to build a website. Let us see what this builds in parallel. But in the meantime, Gemini is saying there is no "no API key" option. Is Beatoven free? No, they give you some test credits after you sign up. Can I connect without a key? No. Okay, but 15 to 30 minutes is good enough; it's not like we are going to play more than 15 to 30 minutes in this session. So, why don't we go ahead?

Normally I would ask it, "How do I go about getting a Beatoven API key?" and all that, but I'll just search for "Beatoven API key," go here, and try it for free. If it asks for a credit card, I will give up. But if it just lets me use it for free... I understand all of this and I don't want any promotional emails. Where are my API keys? Help? No, that is too much work. Ah, API. Very good. Create a token. Copy the token. Great.

Now that I have copied this token, I will ask it: "I have a Beatoven API key. Here it is. Build me that application."

**One of the things that in the past AI has not always been good at is knowing when to build an application versus knowing when to tell me how to build an application.** Maybe that has improved in the last two weeks, I don't know. I am reasonably in touch with AI, but because I am constantly working on it, sometimes my knowledge is two weeks out of date, four weeks out of date, or six weeks out of date. Generally, it is a good idea to try out stuff without that baggage, but I have that baggage, so I am going to say, "Build me that application, option two."

In the meantime, Claude sent me a notification saying it has finished building this application. Very good. Let us see what you have. "Paste some text." Okay, I have some text here. Generate the music.

_(Music plays)_

You can't hear it obviously. Is there a way I can share this with you? This was nice, by the way. It was... okay, "Publish Artifact." Copy the link, and let me send this to the group chat, which is the "Emotion Music" thing. And you have actually a pretty decent application, come to think of it.

**Ideas may be the bottleneck. Once we have an idea like this, implementing it is easy.** All it takes is a certain amount of craziness and guts because nothing else is stopping us. It is able to do the job. And to play it, it wasn't bad.

Actually, let's take a script or a scene. Let's take: "Give me the English translation of that dialogue in _Jab We Met_ where Kareena Kapoor is talking to that train conductor and she says, 'Bhai sahab aap convince ho gaye ya main aur bolun?'" (Brother, are you convinced or should I speak more?).

What will be the right audio mood for that? Actually, I could have just probably asked... oh, I clicked on the wrong one. Give me the English translation of the dialogue in the movie _Jab We Met_ where Kareena Kapoor is talking to the ticket conductor. Now, usually ChatGPT is not as good with... holy sh\*t. Okay, that I did not expect. I did not know that ChatGPT can literally translate into Hindi. But why not? Let me just put this into this and see.

_(Music plays)_

Actually, the music kind of sounds the same. So maybe it is not as emotionally tuned as I thought it could be. But okay, for a start, it's not a bad direction to go in. In the meantime, Gemini is still building stuff, which is interesting.

Let's take a quick pause here. Going backwards, Sri Lakshmi has shared what Opal has sent. Thank you. Rutna... Nice. This app clearly is working. I probably just had a glitch at the point when I tried it. And others are sharing apps as well. Thanks, Puneet.

**Question**: Sharifa is suggesting an AI app that can scan your room or kitchen using the camera and suggest personalized decor ideas like wall art.

**Answer**: Great idea, Sharifa. This is the kind of thing that ChatGPT itself can do, though. Just ask it to do it; it will do the trick. **And one of the things that I've been struggling with is exactly this sort of situation: Do I really need an app, or can the AI chatbots do the job by themselves?** So, the space of apps is at least in some ways shrinking, obviously expanding in many other ways.

**Question**: Ritu Raj is suggesting an application that helps us take a count of our carbon footprint.

**Answer**: Great tracker idea again.

**Question**: Application that helps me train people who don't understand cyber security.

**Answer**: Training is actually a nice idea. Let us build something along these lines. One of my colleagues built an interesting application. We'll do that next.

But note that in the process of building this, something went wrong. "Show the console." It is showing some stuff. I have no idea what this is—well, actually I know what this is, but let's pretend I don't know what this is. "Fix Error."

**The process of fixing something when it comes to vibe coding, you will see hopefully through this application. Usually, it is just "fix the error" and maybe it will fix it.** How often does this work? In my experience, about one in three times. Meaning, if you have built an application and it doesn't work the first time, try fixing it. First time, second time, whatever—one in three chance that you will be able to get it to work. But two out of three times, I just abandon it eventually. Once, trying to fix it makes sense. Even twice trying to fix it is okay. But if it doesn't work too well, it has gotten confused. Start again. Sometimes the very same prompt, but in a different tab, can work. Sometimes it is just too complex for it; you'll have to break it up and go for more advanced vibe coding strategies. This is not a session on advanced vibe coding strategies; this is just applied vibe coding. So let it do whatever changes it wants.

What we are going to do is close this and build using Claude a learning application. Giridhar had suggested something that trains people on cyber security. So the prompt that I am going to use again with ChatGPT for voice is: "Build me a gamified application that can be used to train people on cyber security."

When I say gamified, I mean let's create a Monopoly board. The user can roll a dice, then the player will move to one particular place. And then that will open up asking a multiple-choice question about cyber security. Keep in mind that we are focused on online safety in India, so we want to focus on the most common, maybe the 10 latest scams that people are falling prey to. The training should be specific to age groups in blocks of seven years. And also use the top 10 professions in India using the unorganized sector. Consider a stay-at-home mother also as a profession. Now for any combination, provide material in that training that is specific to this age group and profession and make the game fun to play.

Now you will notice, Giridhar, that I've taken what you had typed, blended it into my idea of a Monopoly game, and we are going to ask Claude to build this. Now, why Claude and why not something else? Because I'm paying for Claude, I know I will not run out of credits. I also know that Claude has a decent sense of UI. So does Gemini, whereas ChatGPT doesn't, and those are the three services that I'm paying for, so I'm limiting myself to these.

What should you use? Try everything. One of them will click. If you use it twice, thrice, and you find that it's working well, continue on that. These things, whatever we try these days, is temporary. Meaning that things are moving so fast that knowledge of specific tools, specific sites, specific techniques is not worth it. **The skill that we are learning is _how to learn_, really.** So, play around.

In the meantime, Suno AI for prompt-to-music is also available. Yes, Chandrashekar, and that's a great one to use. In fact, I've been listening to Suno playlists. That is, instead of music that I know, I just go to the Suno app and have it play stuff. And arguably, it's almost as good these days. Meaning, between listening to new music from, let's say, films versus new music from Suno, I can't tell the difference. They are all about as good.

**Question**: An app that takes images in the meetings and checks my posture?

**Answer**: That, again, is a great idea. Something that Gemini or the others can do.

**Question**: An app where you bury your emotions as fossils in the geological timeline.

**Answer**: This has to be some AI that is coming up with these kind of ideas! But yeah, partly because of the bold font and the em-dash, which is increasingly becoming easy to detect.

Actually, I want a tool to solve _this_ problem. It is very easy to detect AI because of this long dash—it's a classic sign—or because of the bold and all of these things. What I want is a tool where I can paste this kind of rich text and it should give me simple ASCII characters. Of course, language is another giveaway; that's alright. But let's build that as an application.

Now, here I'm going to do something slightly different. Normally I would build the application directly by vibe coding into a tool like this. But I'm a programmer. I write code, I use Git repositories. Some of you may be programmers. If you are not, becoming a programmer is very easy these days. So what you can do is have it write a program that you can run on your local machine.

Okay, so now if we want to do that, then the next question is: What programming language? The good part is it absolutely doesn't matter because it can write in pretty much any programming language. So the real question should probably be... let's ask Gemini.

See, I want to build an application that I can run in my machine. But let's assume that I'm not a programmer. I have an out-of-box Windows machine with whatever is the default setup that is there in the Windows machine, and the program must run there without it needing to install new kinds of stuff. So what programming languages can I program in if I want it to just run in my local Windows machine? Give me the top three options and give me a rough sense of what percentage of Windows machines will come with this built-in.

For your context, if you want to know what I'm trying to build, I'm looking to build an application where I can convert text from Unicode characters to ASCII. For example, removing em-dashes or smart quotes or things like that. Let this convert my speech to text and take this and put this into Gemini and get the answer.

I could say, "Hold on, Anand, you would anyway type this in ChatGPT, why not ask ChatGPT itself to come up with the answer?" Because ChatGPT, when it comes up with good answers, is painfully slow. When it comes up with fast answers, is not as good. Gemini or Claude seem to have a slightly narrower range. Their best answers in some cases aren't as good as ChatGPT's, but their good answers are fast enough.

And Gemini Pro is thinking... It's saying I'll have a C# compiler, batch file, VB Script, all kinds of things. And it's saying number one: **HTML plus JavaScript**. Oh, okay. So it is saying just run it as a local program. A browser will anyway run on every machine. That is a very good point. Or I could write it in PowerShell. Correct, that's also available in 100% of the local machines. And VB Script, yeah.

But no, this is making a good point. There is no reason why I should not just build a local HTML file. Fine. So what we'll do is tell it to build the application, and we'll save it locally and keep it as a tool.

"Build me a HTML application that will convert any Unicode character like smart quotes or em-dash or whatever into the closest equivalent. Now keep in mind that I'm going to run this as a HTML file. So just give me a single HTML file. It should not need any other tools, software installations, etc. Just opening that HTML file in my browser should work."

And let's convert that. Cut, paste, and let it run.

In the meantime, Claude said it's got the Monopoly application we were looking at ready. Okay. And it's smart enough to have thought of Hindi and English. "Cyber Suraksha." Clever. And in English... I'm Anand, I'm very old, and made a senior worker. Okay. I'm a... what am I? It doesn't have me. Closest: Tailor or Artisan. Okay, let us pretend I'm a tailor or an artisan.

Now let me start the game. Okay, can I toggle English here? No, I can't. Why is that? That's okay. So that's one of those things I should tell it. Wait, allow the user to use the entire app in English. This is an example again of a fix that might work, might not work. I might even need to redo the entire application from scratch, but we'll see.

Roll the dice. Okay, and it's moved to UPI. Okay. Now what am I supposed to do? Click. Roll the dice again. Ah, oh, okay, maybe I missed the question earlier. "Call received. I'm calling from SBI, your PAN/Aadhaar isn't linked. Download the app now." What will you do? Tell them I will download the app? Which is actually not a bad idea whether you download it or not. Call disconnect? Official helpline? Screen share Aadhaar number? Yeah. Okay, what happens if I say A? Okay, it gives me an explanation, but I get zero points.

Roll the dice again. Dice has come to "Nakli Naukri" (Fake Job). Okay. Telegram get 100, blah blah blah. This is a honey trap. Yay. Fine. Not bad.

And the sad part about the gamification is this is engaging enough that I will sit and play this for another five minutes just because I'm curious about what the questions are. So let me not get sidetracked.

Let's go back to the Gemini application and see if it managed to build something. So if I put in some text here... Generate the audio... Okay, some more console errors. Field required, blah blah blah. So, "Fix Error," second attempt, and see if it works. But the good part is this application went forward one step. It managed to show what the music creator interface could look like, but it still failed at the next step.

Now, by now you are probably confused about what are all the things that we are doing in parallel. Maybe you are not, but I am definitely confused because we are running so many things in parallel. Typically happens. Browser tabs explode. **This is part of the skill that we are increasingly needing to learn. It's like managing a team. Each team member is doing something different.** Humans at least take half an hour, two hours, four hours, a few days, they have holidays before they come back and ask us for the next job. These things finish it in 10 minutes, 15 minutes max. If we are lucky, they can take an hour. So it's actually a little more stressful to manage an AI team, and increasing our ability to manage such an AI team to constantly give it work is a practice that—well, at least _I_ am learning.

Now, we had asked it to build an application that can convert Unicode characters. We wanted this because we want to remove AI look and feel. So it has said "Save this as universal_converter.html". Okay. Let me copy this code, and I will open Notepad or something, and paste it. And yeah, some application is there. Save it in my downloads folder as `convert.html`. And let's open my downloads folder, which seems to have vanished. Okay, it's taking a lot of time. Ah. And in my downloads folder, I have a `convert.html`, which if I open... Okay, great.

So now if I paste some text that has em-dashes and all of that... Okay, this has some things. Let's add Beyoncé. All of this looks good. Paste it. Convert. Let us see. Curly quotes... Oh, it didn't really copy Beyoncé. I don't think it managed to copy... Oh, this at least it... Umlaut is copied into... converted into U. Okay. Let's get the em-dash from the application that Krishna Mohan had shared. Yeah, let's take this. Copy this. Paste it. Convert. Yes! That is a smaller regular minus or hyphen sign, whereas this is the longer em-dash. It managed to convert it. And I'm sure if there are any others, it would do a okay job. And if it didn't, then we can always update the application.

**But what we've done here—and this is the important thing—is we are running the application locally. It's just a web page. We said "give me a web page"—a web page is an application that should be able to run without any dependencies—and it is able to do it.** Which is good. So that's another thing that we are able to do. So good news there.

Let's take a quick look at what else we have. More apps... Book therapy app, sounds like a great idea, Som Shankar. Rajiv suggests an app to guide students' career options. Again, a good idea. Again, I suspect that ChatGPT will do a good job of this. Scroll breaker to stop doom scrolling. Yeah. This could be an interesting one. You could build a browser plugin or an extension that stops you from scrolling too far. Great idea.

**Question**: Can we add a Google Sign-in option or sign in with email or mobile to these apps?

**Answer**: Yes. I don't know how well it will succeed hands-on. What I mean is, if you know what you are doing, vibe coding this is very easy. If you are a developer and you've built such apps, then giving the right instructions—no problem. If you have never done this before, then there are a bunch of things that you need to know that you can ask it. So a certain amount of planning is required. So the answer to the question "Can?" is yes. How easy? Might take a bit more time, but very doable.

Sorry, I should have mentioned this up front: At any point, anyone has any questions or whatever, please feel free to just put on the chat window.

Topics discussed in social media... This is again a good one to build an application out of. Any kind of scanning application is generally a good one.

I'm going to pause the applications here and say that... actually let me stop sharing. Let's just talk for a bit.

See, so far we've been looking at broadly three kinds of applications: Trackers, Utilities (like this Monopoly game that we built), or Converters (like convert text to music, or Unicode to ASCII). Those are three types of applications that we've built.

Let's go to something slightly different. I'm going to take a few other classes of applications I've been playing around with. And this is not me sharing directly from AI; this is me sharing from few stuff that I thought was interesting over the last few weeks. One is **Data Analysis**. Another is **Generation**. There are a few more.

Let's start with these two. Let's start maybe with generation. I'll share my screen again. I published a post a short while ago about self-discovering LLM capabilities. Let me put this in the chat so you can take a look at any point you want. But the idea here is that these Chatbots—ChatGPT, Gemini, etc.—they have built-in tools. So for example, when I asked Claude "What are the tools that you have?", ChatGPT said, "Yeah, I have access to **FFmpeg** which can do audio/video processing. I have access to **ImageMagick** software so I can do image processing. I have access to **Poppler** so I can do PDF to text conversion, PDF transformation, converting across different document formats." So all of these software are available to ChatGPT.

So now what that means is we have another kind of vibe coding we can do. Earlier we were asking it to write code to build an application. Now we can ask it to use its own tools to perform a task.

---

We can ask it to build the application, and we can ask _it_ to run it. Now, what are the things that we can do with it? I didn't know; I asked it for ideas, and it said here are a whole bunch of things: strategies for discovering hidden capabilities, converting audio to explainer videos, and so on.

All of this is fine. I am going to pick a different prompt and ask ChatGPT: "Create a 60-second compilation of stunning algorithmic art as dynamic videos with some fantastic background music to go along with it. Include captions of what you’ve done in each segment. The video must have a professional cinematic effect."

Now, you will say, "Wait, hold on, what is algorithmic art?" **Algorithmic art is where I don't have data, I don't have ideas, I have nothing. But it can use programs to create art.** And the kinds of things that are possible with this are actually remarkable.

Take a look. It said, "I'll create an algorithmic art gallery." It started with a Mandelbrot set. This is just 100% creating it by itself, going deeper. All of this is just formulas. It’s called a fractal, and they are beautiful. Another kind of fractal is where it created a carpet of sorts—not as visually colorful as the earlier one but can be made a lot more colorful. Another algorithm called Conway's Game of Life, where you have cells interacting with each other, multiplying, killing each other, and creating another kind of art form. And something called Rule 30, which looks a little messy, but if you go deeper and deeper, you will find that the same kind of structure is repeating.

"Domain coloring" is where you take a color scheme and apply some dynamics around it to create these kinds of effects. "L-systems" are where you have a line going forward, bending a little bit, branching, and creating effectively fern-kind of structures. The same thing can be done in very different ways by tossing dots randomly using a formula, and that happens to create structures like ferns.

In all of these cases, not only is there nothing that has been given to it as an input—it is just using algorithms—**it has the smartness to write the code for it, as well as run the code for it, and generate the output.** This is something that is possible.

Now, where is the vibe coding in this? All of this has been done by code. It has written the code. It has figured out how best to run the code as well.

Why is this important? We are used to thinking of code as purpose-driven. We have a problem; I want to solve it. **We are not used to thinking of code as an art form.** And it seems to be possible.

Now you will say, "Hold on, as an engineer I'll make more money, why am I worried about artists?" Not true. Just this morning I was reading a paper and fact-checking it, where starting from around the mid-80s or 90s—at least in the US and increasingly in many other geographies—**social skills have a higher uplift on salary than math or engineering skills.** So increasingly, communication and the likes are becoming more important, and with AI, that boost is even higher. So, I have never taken an art course in my life; my next job is to start taking art courses like this by cheating and having programming teach me some art in the process.

This is still working; this can take a good 15 minutes, and it will come up with a nice algorithmic art video. So, we will progress with that.

The next thing is: how can we use data analysis? And that perhaps is one of the most powerful things.

---

**Question**: Once we build an app using any of the LLMs, how do we transfer or use the app on our personal devices? Example: mobile. Do we need to save the code somewhere? Or will it run on the browser?

**Answer**: If you want to run it on a mobile, Pragati, then the easiest way is to publish it as an artifact. Claude has a publish button, Gemini has a publish button, ChatGPT has a publish button. Share that link via email or WhatsApp to yourself and just use it there. Often, they’ll put a little bar on top saying "This app may not be safe." That's okay; if you're practically trying to use the application, that is absolutely fine. That is the cleanest way.

The reason you may want to run it on your laptop is to run it if you don't have an internet connection. In that case, you can ask it, "Give me a zip file that I can download," or "Let me copy the file," and keep it as one file. It will give you the file; save it, open it.

**Question**: If I want to build for a Play Store, how do I do that?

**Answer**: Bigger question, Srilakshmi. That is a little more complicated, but the short answer is: ask one of these applications themselves. Actually, you know, this whole "ask me a question" thing I've been doing for so many years... What is the point? **I should really say: ask AI.** But no, please keep putting your questions here. I will learn from your questions because then I can pass it to AI and answer. I give some random answer based on what I know, but the better answer for all of these questions will come from AI. But Srilakshmi, it is entirely possible to publish a mobile app onto a Play Store end-to-end.

**Question**: Data analytics is interesting. Can you explain that?

**Answer**: Let's do exactly that. Now, for this, we need a data set. And obviously, we need ideas. So, let's ask Gemini—which I will prompt by voice on ChatGPT.

I'm in the middle of an NPTEL workshop. I want to show how ChatGPT etc. can analyze data. Now for this, I need a data set. I can maybe create a fake data set, but what is the fun in that? I would also like the participants to pick some data sets that they have and will be able to analyze. But here is the thing: right at the last minute, finding that data set is going to be time-consuming for me as well as for them. What are the top five data sets that almost anyone will be able to access instantly? They will readily have it, and the data is large enough that some amount of data analysis is useful and worth doing on this. Tell me both the data sets as well as how one can go about getting these data sets.

And let it think. In my case, I have plenty of data sets, but let it suggest what data sets you might have.

Rajeev suggests an Iris data set. Rajeev, for your information, the Iris data set is a classic data set which will let you figure out, from measuring the size of the petals and sepals of flowers, what type of flower it is. **There is nothing more boring than using somebody else's data. The most interesting data sets are our own data.** So if you have your GitHub repo, or your previous Iris data set training data, or anything else, it is fantastic.

Let's see what this says.

1. **WhatsApp chat history.** That is a good one. We can pick a WhatsApp chat and export it. Almost everyone should be able to export, whether it's Android or iOS. You can go to the "More" and "Export Chat" of some chat.
2. **Netflix viewing activity.** Interesting. You can go to Netflix account profile, viewing activity, download all. I have never done this. Let me go to my Netflix account. I'm going to have to split the screens because my brain is too tiny to process two instructions at the same time. Okay... Account... Profile and Parental Controls... Viewing Activity... Download All. Very nice. I have my Netflix viewing activity. Good. Learned something.
3. **Local computer file inventory.** This is true. Everybody will have a list of files and their file sizes. So it's given me a command of how I can get the full file list.

Let me do this. I'm going to open the terminal. It is explaining how you can do it in Windows. I have Linux; some of you may have Mac. Find out the instructions for listing the files in all directories along with the sizes. So if I typed `ls -R`... okay, that's long enough. Fine. So I have two data sets.

Bank or credit card statements—which I've done several times—is really interesting. Lots of... actually, I should show you what I learned from my bank statement. I will show you that in a few minutes, but I'm not going to directly upload my bank statement on a live recorded session.

Screen time is not a bad idea. Oh, okay, you can't export it, but you can ask ChatGPT to digitize the chart. Interesting.

Backup plan? Yeah, then you can download. And there are a whole bunch of very good suggestions, like Vijay Srikant's stock market prices from S&P, etc. Download some data set.

I am going to take one of my data sets. Either my list of files or my Netflix viewing. This is large enough. Let me open it in Excel. Okay... 2,000 files. All right, fine. So now it only has the file name and the date I watched it in.

So let me go to ChatGPT. And now, why ChatGPT? Because I know ChatGPT is pretty good at this kind of analysis. And I'm going to say:

"I've uploaded my Netflix viewership data. Don't worry too much about _what_ movies I'm watching. I'm very curious about _when_ I'm watching. You have the dates. Do some interesting, crazy analysis, but **give me a mind-blowing set of insights on my watching behavior.**"

Step one: tell it what to do (which is not very specific).
Step two: add photos and files (Netflix viewing history).
And let it run.

So my most recent movie is "Bewakoofiyaan" (Stupidities), Pixels... okay, I have not finished watching these movies. These are all movies that I just probably clicked on and watched a little bit. Or... okay, my wife or daughter have been watching some of these. So technically this is not _my_ movies; this is some combination of family movie watching behavior. But okay, let's let it do whatever insights it can figure out.

In the meantime, we have some more ideas. But let me pause to say one thing: **Try this out now with your data.** Just as "vibe coding" is one of the most powerful things you can walk out of this session with, "**vibe analysis**" is an equally powerful thing that you can walk out of this session with.

---

**Question**: Chandrashekhar has an idea for an application to alert when a driver falls asleep or yawns.

**Answer**: That is a great idea. And yes, [it] is something that can be vibe coded as a prototype. When you put it into production, you'll probably want to pay close attention to the code.

**Question**: Balakarthik suggests reading a public electoral roll and processing the PDF, which is a pain.

**Answer**: That, yes, is almost exactly the kind of thing that vibe analysis is suited for.

---

Let's see. This one will take a good... wait, what? Oh, I put "Instant." Sorry. I should have put it in "Thinking" [mode]... Let me just delete this entire thing and start again. The reason I put it in Thinking mode is because Instant doesn't really do much thinking, and this requires a decent amount of thinking.

Now I'll show you some of the thinking that it's doing as it goes along. That thinking is quite fascinating.

By the way, this requires, I think, the paid account. It may not appear on the free account. **The highest ROI investment that I've made in life is paying the $20 for ChatGPT or Claude or whatever.** Worth 30 Netflix subscriptions. Even in terms of entertainment, it's good entertainment. So please do subscribe to any of these.

Now here is the nice part. It is writing code, but it is also _running_ code. It has its own container. It has its own computer. And it will run the code, do the result. It will rewrite the code if it made a mistake.

So far, it's getting a sense of [the data]. For instance, from January 12, 2019, to January 4, 2026, there are 1,222 unique days with activities. So that's about two and a third movies per day. Good to know. And it's figuring out stuff like this: 48% of the days had Netflix viewing recorded. Which means that one out of every two days I'm watching Netflix—or _we_ are watching Netflix.

And then, okay, now it's looking at days of the week distribution. How many Mondays, how many Tuesdays, etc. Yeah, I really don't know when I watch or when we watch Netflix more. Weekends would be the logical guess, but let's see.

"Lift for active days compared to the average." Okay. So now it's found that there's a 12.8% lift on Saturdays—understandable. Sunday is 7.7%. Thursday has a positive lift. I have no idea why. Why would we... Desperation? Anticipation of weekend? Even then, Friday should be higher, no? Friday is actually lower. Beats me.

Ah, okay, now it's looking for seasonality. December spikes and all of that. Though it should probably be October spike with Diwali and all that. Let's see.

It's identifying "Binge Months." July 2021. What happened in July 2021? COVID ended and we started celebrating? May 2020? Yeah, that must be hardcore COVID effect. That's probably... Yeah, actually come to think of it, I must have taken a Netflix subscription _because_ of COVID. Jan 12, 2019... I think that was just before COVID. So okay, in anticipation of COVID. Obviously very futuristic of me.

But yeah, now so you notice that out here, **it's made a mistake. It wrote some code, and the program had an error.** And how do I know it's an error? There's a red bar here. So, okay, fine. It will then correct itself, get the actual data. Now it's doing smart stuff like computing standard deviation and all of that.

So yeah, here is the other thing that I can ask it. Now see, as an analyst, I can now bring in my intelligence. I can ask smart questions like: "Are you really sure? Is this statistically significant?" Knock off all the stuff which is statistically not significant, and so on.

Now, I've been doing this literally all my life—well, okay, last 20 years. So I kind of have some expertise which ChatGPT may not have yet thought of. It has studied practically everything in the world, but on average it may apply the blend of all of that knowledge. I will be able to guide it a little bit at least in this area.

So one of the things that I'm doing is splitting all of my prompts into two categories:

1. **Category 1: Where I know stuff.** Either because it is about me (so I know where I'm employed, I know where I pay tax, all of that, and it will not know), or where I've spent a lot of time and I believe myself to be an expert. That will be three or four areas where I have detailed prompts on how to do stuff.
2. **Category 2: Where I ask _it_ to play the role of an expert.**

Let me share these prompts with you. Let's start with my analysis prompt... Here is the prompt that I use for analysis—actually analysis and visualization. I'm just going to paste it in the chat so you can take a look at it.

And what this does is go into details of: "Look, I want you to analyze data like an investigative journalist." Make them say, "Wait, really?" Something that surprises them. How do you do it? Understand the data. Figure out what matters to that audience. Figure out what is really signal. Segment. Find out those small leverage points where little effort has high impact. And cross-check.

This is my cross-check prompt: "Check with the real world. Check if this is... check if you've made a mistake. Check for bias. Check for common mistakes humans make." You've been trained on human data and human practices, so you'll make the same kinds of mistakes humans make, at least in some cases. And look for where I've given you incorrect stuff, where you're guessing, all of these things.

So I can just copy-paste this, and once it's finished its analysis—which will take a long, sweet time—I can ask it then to verify and stress test. Now, this will really take a very long time. Let it run. I've got a few other things to talk about.

The other thing that this has is my visualization prompt, which is: **"Write as a narrative-driven data story."** Write like Malcolm Gladwell. Draw like the New York Times data visualization team. Why? Because I kind of know that their styles are pretty good. And you can ask for very different styles as well, and I have a style catalog of whose style to use for what. But this would start with a compelling hook, story arc, integrated visualization, blah blah blah. And there are other formats; sometimes I ask for an executive summary, sometimes I ask for an actionable report.

Now, somebody had mentioned a dashboard earlier. Poonam had mentioned a "Smart Student Dashboard." Now Poonam, what I find is that **a dashboard is basically when we don't know what we want.** Typically, a dashboard emerged this way: There is a senior exec who says, "I want to solve this particular problem, and this particular problem, and this particular problem. Give me the data" to his executive assistant. The executive assistant, by the time he's written down the third point, has forgotten all the stuff that the CEO has said. So the exec assistant goes to the IT team and says, "I want you to build me something that can show _any_ data that the CEO wants."

The IT team gives it to a vendor and says, "It should be able to generate _any_ kind of data," and adds 250 technical requirements on top of it. "It should be whatever answer should be there in half a second, it should run on Windows, it should run on this," blah blah blah. The original requirement has completely vanished in the process.

This is typically what a dashboard is. Where, in this process of "Chinese menu"—everything is on the Chinese menu—people have lost track of what they want.

Instead, we have an alternative, which is: we know exactly what question to ask. The CEO directly asks the question and gets the answer. Or if the CEO doesn't know what to ask for, they can say, "Tell me what you know about the data," and it will give an answer. So, we may not need a student dashboard; we may need a **student data story**.

What do those look like? Let me share a few. Using _this_ exact data story prompt—and in fact, this exact analysis prompt—I analyzed my bank statements. I may have published those... Actually, all of these are based on the same prompt. This is where I took my Google Fit data and created this story. I track my weight, and this shows my weight over time from 2022 to 2025. It shows all of the weight data. And step by step, it tells what the story is.

It's saying "Zoom in. 2025 is when the case really opens. I started with 86.4 kgs, and by the end of the year, I ended up 24.2 kgs less." I actually lost 24 kgs this year—25 give or take. It's also saying that the curve isn't the story; it's not _one_ story, it's actually _three_ stories. It's breaking it down into different segments. As it scrolls through, it points to specific areas and shows "this is what's happening here," what is the correlation between steps, blah blah blah. A proper decent story about how I actually lost 24 kgs over the last year.

**This is an example of a web application that was vibe coded using the prompt.** And before somebody... okay, Rajeev has already asked me the question, which is "Share your weight loss secret." It's fairly straightforward: I eat one meal less per day. So, two meals instead of three meals. It worked for me; for different people, different things work.

This is generated via these prompts.

What I'd love for you to do is... we have another half an hour which I'm going to split between questions and other things, but this was the primary thing that I wanted to cover in this session, or at least get close to: **You can take data, upload it into ChatGPT, have it do the analysis, and then create a web story out of it.**

It would be great if any of you could follow the same process: Upload any data set. Have it create a data story. Publish it as an artifact. If you're using ChatGPT, how do you publish it? On the right side, an artifact... it'll say "Here is the application." You click on "Publish," it will publish and copy the link.

But maybe this is a good time to take any questions that come up.

---

**Question**: Are there any cyber threats in artifacts?

**Answer**: Absolutely, Chandrashekhar. There are several kinds of problems.
Problem number one: The application that we write may accidentally have cyber security errors. It just may not be a very safe one.
What are examples of "not safe" applications? Supposing you build an application that searches online for news and automatically emails it. What email IDs should I send it to? That list of email IDs may be LLM-generated by the vibe-coded application. And the article that I'm reading may have an email ID; it may send it to _that_ email ID as well. In that case, it's data leakage. That's an example of a cyber threat.

But short answer: when human applications have cyber risks, AI applications will also likely have cyber risks.

So what should we do? **Same thing that an intern coding an application would do: Give it to their boss and have them use whatever process they use for checking and verifying code and validating it.**

**Question**: How to guardrail data privacy?

**Answer**: Same answer. Today we have a set of processes. It doesn't matter who generates or _what_ generates the code. Follow the same process.

**Question**: Why will other people use it when there is any threat?

**Answer**: We are strange people, Chandrashekhar. When Google loses millions of email records, when companies find that they are stealing hundreds and thousands of credit card records, we are still going ahead and using them.

---

**Answer**: I haven't given them my credit cards probably because of convenience. We say, "Look, this happens once in a thousand times. I might get lucky. If I go out, I could get hit by a bus or struck by lightning." We still go out. So, I guess all of us make that balance—that trade-off. When COVID struck, many of us in the initial days were still going out. It took a full-fledged regulation to actually stop that.

So, if the threat becomes so large, some kind of enforcement act at the individual level, the organization level, the government level, or the global level will probably come up. But at the moment, people are saying that **the utility is still high**.

**Question**: How can we deploy code as an API using ChatGPT or any other tool?

**Answer**: Like any other application, the quickest answer I can give you is: search for **Codex**, **Claude Code**, or **Cursor**. That will give you the details, and you are probably already familiar with that.

**Question**: Manjit asks, how do you protect your data, like your Netflix history?

**Answer**: Don't share it widely. When you are sharing it with any person or organization, take a look at what their privacy policy is. Or check with ChatGPT: "Is it okay to share with this particular website?" It will give you the advice, pros, and cons. That increasingly is becoming the mechanism.

**Question**: Mandeep is asking if I can create code to plan my day based on my emails. "Yes, absolutely, and auto-tune based on what I actually do, what I need to do, and add important events to the calendar. Is it possible?"

**Answer**: Yes, Mandeep. I have tried it. It works, and it does not work very well. Why does it not work very well? **Because I don't know what I want.** The application did what I asked it to do. So, technological probability or feasibility is not a problem. But I think we have to iteratively learn how best to use it, and I am still in that process.

**Question**: How do you configure agents?

**Answer**: Broad question, Kishore, and probably not for this session. But I will guide you toward searching online or asking ChatGPT and the likes for **Codex** or **Claude Code** as agents to explore.

**Question**: BT says, "This is great for personal use. What if I am using my company data and have only LLM providers from my company? What are the best techniques or tools that we can use in that scenario?"

**Answer**: Typically, your organization would have tied up with Google for Gemini, Microsoft for Copilot, or maybe AWS for Bedrock, or OpenAI, or one of these. In other words, you will likely have access to one of these chat agents. The chat agents have the ability—hopefully, 95% chance you will have the ability—to execute the code in that environment.

So, once you have that ability to execute code, like you are seeing here, then it's not a problem. After that, you can just do all of the stuff that we did here using your corporate data in a corporate-approved environment. **Do not bring corporate data outside of the corporate-approved environment.** It's not worth the risk usually.

**Question**: Balaji has a question on security and privacy practices.

**Answer**: Same as we talked about before.

**Question**: Viruses can be trained using AI. In the future, how safe can we be from these attacks?

**Answer**: Viruses can learn and update themselves. The good part is now antiviruses are also learning to update themselves and defend. So, yes, in the race between attack and defense, the attack can go ahead; defense can sometimes go ahead. We may be in a situation where the attack is going further ahead than defense because we don't know what are all the kinds of attacks that are possible. Therefore, like perhaps in the early PC days, we may see an increase of viruses.

I don't know whether there are any different kinds of protections that we need to be aware of. Only one that I am conscious of these days is what Simon Willison calls the **"Lethal Trifecta."** This is an interesting combination from a security perspective. That is: if you have a system that has access to private data **and** can communicate externally **and** is exposed to untrusted content, then you have a security risk.

What does that mean? Simon is saying: **Pick any two, never have all three.**

Supposing I have an AI application which has access to my bank data, _and_ it can talk externally. If I expose it to some untrusted content—which could be an email from a stranger—and I just copy-paste the contents of an email from a stranger because they asked a question. That email may contain instructions to take private data and send it externally. So, we have a problem.

It could therefore be solved by:

1. **Don't give access to private data.** It's a public application. It can communicate externally, it can do unsafe things, but who cares? There is nothing unsafe about the underlying data.
2. **Knock off the ability to communicate externally.** I will take all kinds of dangerous viruses and give them access to private data, but it's all running in my machine. Even if it tries to send anything outside, it can't because it's completely air-boxed in my machine.
3. **I have private data and communicate externally, but the _only_ content that goes in is my own content.**

This last bit is the tricky bit. What is "my own content"? If I have downloaded a PDF that one of my colleagues sent me, is that my own content? Maybe. What if I had generated that PDF myself but had done it by copy-pasting from ChatGPT? Is that still my own content? There are invisible characters that we cannot see that AI can see. What if it contained those?

So, in short, the one thing that I am learning is: **What constitutes untrusted content is very broad.** Therefore, there is at least one new behavior that I need to learn about protecting myself against threats, which is being more broadly aware of what constitutes untrusted content.

**Question**: Kishore asks about configuring agents.

**Answer**: Like I mentioned, just search online; that would help.

**Question**: Shivam asks on how did I design this prompt? Presumbaly the one [shown earlier].

**Answer**: **20 years of experience, Shivam.** Capturing all of that, iterating, iterating, iterating. Unfortunately, this one doesn't have a shortcut yet.

**Question**: How can we enforce governance?

**Answer**: Just what I covered a short while ago.

**Question**: Rajeev suggests, "Build an application where the caller is a fishing call to seek bank details, and the application should disconnect automatically."

**Answer**: Good idea. Maybe not disconnect automatically, but at least warn the user so that in case there are false positives, it doesn't disrupt the experience. But yeah, just flagging off when the person is speaking, saying, "Look, this sounds like a scam," is a great idea.

**Question**: If I create an app through vibe code, shall I convert into a business model if it can be successful?

**Answer**: Absolutely, Prabhakaran. Though usually, **if you can vibe code, anyone can vibe code.** The differentiation will come from the stuff that you are _not_ vibe coding. Therefore, if you said, "Look, I have a great idea," and yesterday it would have taken weeks, months, years to implement it because the coding would have taken time—but the real power is not in who can execute the code, the real power is in the _rest_ of the idea—then it is a great business model.

**If the vibe coding was the bulk of it, anyone can do it; therefore, it is less powerful.** How can I keep updating it? Vibe coding again.

**Question**: Mandeep comments: "Antigravity."

**Answer**: **Antigravity** is a new browser by Google, and that lets you do all kinds of automations. Let's actually see if we can run Antigravity now.

_Anand opens Antigravity in another window._

So, what Antigravity allows is an agent manager where I can have it do stuff on my behalf. So for example, what could I do? "Visit my GitHub page... and find out how many days I did versus did not code in 2026." Do what you want and run this.

Now, what this does is it uses the browser to open a particular page—in this case, it will go to `github.com/s_anand0`—and it will write code locally or inside that page and do stuff. It's opened the browser. I don't have control over it; my hands are up there. You can see a bluish border around it, and it is probably doing all of the controlling. Now, it turns black when it's not controlling it; it turns white when it's controlling it, I think—something like that. So fine, let it do its work.

This enables a different kind of vibe coding power. Specifically, it allows you to do what the browser normally does, which is a great capability. Please play around with Antigravity, keeping in mind that, like everything else, it can be dangerous. Once you get used to it, you will find that the usefulness is so powerful that not using it is like not going out because there may be a bus accident or lightning.

**Question**: Feasibility of vibe coding or analyzing with local LLMs using Ollama, etc.?

**Answer**: Very possible, Balakarthik. The trouble is that unless you have a very good GPU machine, this is not as fast nor as capable. So, you may find it useful, say when you are on a flight, to do small checks or small automations. To vibe code an entire application requires a lot more effort these days.

Now, the good models are becoming smaller and faster. **Qwen 2.5 Coder** for instance, and **Kimi k1.5** thinking—they are models that can run on a reasonable number of GPU machines and are small enough to do so, and are good enough that they can almost compete with the likes of Claude 3.5 Sonnet.

I have not, in the last six months, locally vibe coded. My experience before that was not great. It may have changed a little bit, but from what I have seen and read, it has not gone to the point where this matches the experience of vibe coding when you are online. Do try it.

**Question**: Chandrashekar asks regarding a job creation system.

**Answer**: The best thing to guide you on this is: copy the exact same prompt and put it into Gemini or Claude or whatever.

**Question**: Good MOOC for associated knowledge?

**Answer**: Devanshu, the trouble is this field is moving so fast, by the time somebody comes up with a MOOC, it's outdated. And I don't mean outdated in parts; I mean outdated in full. **Don't even bother.** Go to **NotebookLM** or any of these learning apps these days and ask _it_ to create a MOOC. So, short answer: NotebookLM, etc.

**Question**: Tirthankar's question is: If app creation is becoming so simple, will SaaS applications like expense solutions at all be needed in the future?

**Answer**: One theory, Tirthankar, is that they will not. And a lot of applications will end up getting folded into the likes of ChatGPT. A lot of people are touting the death of SaaS applications, or at least a restructuring. How the industry might restructure, I don't know. And again, great question to ask ChatGPT or Claude to predict what the future might be and keep updating based on newer and newer information.

**Question**: Vikas asks, in my experience, where does vibe coding fail most predictably?

**Answer**: The more complex the application, the more it fails. Now, what does complexity mean? Roughly, "large" is one axis, and "not easy for software to do" is another axis. How do you know large? You can guess, and experience helps. How do you know what software can or cannot do today? Experience helps.

**In the absence of either of these, best to go into "planning mode."** And I usually do this. I ask: "Look, based on today's technology, do you think vibe coding this will work or not work? Why? How can I break it up? Simplify it?" I am learning from that experience. But I am also worried that learning from that experience is useless because it will be outdated in a few weeks. So I am practicing just asking every time.

**Question**: Abdul asks what prompt I was referring to.

**Answer**: I'll share the prompt.

**Question**: Can Antigravity be used to scrub websites?

**Answer**: Yes, absolutely it can. Slow and expensive might not be worth it, but the answer is yes.

_Looking at Antigravity demo:_ It's unexpectedly long to load. I'm not sure where that got stuck... Oh, it's waiting for me to confirm something. Yeah, confirm, whatever. I should have changed the mode to "auto run."

**Question**: Praveen asks, we are trying to build simple applications. Is there a large-scale enterprise-grade application for which a new feature is to be developed? Can we use vibe coding?

**Answer**: Using vibe coding is like telling an intern to build it. Can you? Yes. Would you deploy it without reading the code? Probably not. Would you treat it any differently from an intern who has run the code? Not required.

So, if yes, what are the things a developer should be aware of and what prompting techniques should we follow? The short answer is: **If you became the lead developer in the project, whatever the lead developer would do is what you should do.**

What is "what a lead developer would do"? That is a bigger question. I haven't taught it well enough to be able to explain that quickly. But I can say that **the way I treat AI is exactly the way I treat an intern or junior developer.** And therefore, asking an AI, "What does a lead developer do to check a junior developer's code?" is the answer to this question.

**Question**: Vani asks, will a recording be available?

**Answer**: Yes, I will place it in the docs page... The recording will appear by tomorrow.

**Question**: Srilakshmi asks, Antigravity can run on localhost. How can we run on a public website/domain?

**Answer**: I am guessing your question is, "Can I just go to some website and run something like Antigravity there?" The answer is yes, there are a bunch of these tools available. ChatGPT, for instance, has something called "Operator" or "Computer Use Agent." Maybe that requires the Pro version... but they exist. And you can use an external engine. Because Antigravity is active, most of these sites will ban me.

**Question**: Data Analysis prompt?

**Answer**: I will reply with that.

**Question**: Do we have a community or WhatsApp group?

**Answer**: We don't have any group to share/communicate, but that is the beauty of vibe coding. Each of you can create a community. Create one. Each of you can create a blog if you don't have one. Publish what you have on social media. Effectively, create your own communities. **Share what you vibe coded.** This is my only request and possibly the biggest takeaway of all.

If you share what you vibe coded, others will learn, get inspired. But more importantly, **we learn best when we teach.** So if you can get to the point where you are able to teach vibe coding to any one person—your kids, your neighbors, your grandparents—that, apart from enabling them dramatically, takes _you_ to the next level where you are able to truly understand what vibe coding is, and it will become part of your skillset.

**Question**: Which AI platform should I prefer for coding ML/DL models on my research data set?

**Answer**: The answer changes so often, Sohini, that it almost doesn't matter what I say now; it's going to be outdated in a month. But today, I would use **ChatGPT**. Borderline. I might just switch to Gemini because it writes better code, or Claude because it has better style. It's a very borderline question. Two months ago, I would have clearly said ChatGPT because it was ahead at that time. Now I am no longer sure.

**Question**: How do we incorporate robust testing and debugging practices into the vibe coding workflow?

**Answer**: Puneet asks. Ask _it_ to write unit tests. Ask _it_ to write integration tests. The prompt that I use... [Anand shows his code skills/prompt]. This is what I am using increasingly for all kinds of coding and testing. And one of the things that I add is: "When tests exist, write... or when you are writing new code, add the tests first. And keep the tests fast." So at least there is a nudge to say that you should put in some tests.

What you can do is put in the various Claude Code skills for testing that are available out there, or the general testing practices. But in short, if you know what you want and why you want it, tell _it_. "What is the best way of incorporating this to achieve a certain objective?" It will tell you.

**Question**: Perplexity has all models, is it better?

**Answer**: I have not used Perplexity much, Mandeep. I have not found the reason to switch to it. Not that, therefore, it is not good. I am by and large sticking to Claude, ChatGPT, and Gemini because I have paid subscriptions for those.

_Back to the Netflix Analysis Demo_

I asked it to create a "data story." Let's see what we can learn about my Netflix behavior.

- It created a "Chronobiology" for me.
- I watched about 48% in the last 7 years.
- 2021, during COVID, was the aftershock binge.
- 2025 is interesting; we watched the least. Not sure why.
- 22 days is the largest streak.
- 76 days we went without watching Netflix.
- **Sundays are when we binge watch.** Very understandable. Wednesdays are the least. Fair enough. So it's a "guilt buffering behavior"—this I did not think of! "I delay gratification through the work week and overcompensate on the weekends." It's not bad. Okay, so disciplined mind blows off steam. Good to know that I am like most people.
- July '21 is the top viewing season.
- December 2019 pre-pandemic... nothing major in this.
- One-to-one ratio between days watched and not watched.
- **Self-limiting habit loop.**
- Fact checking: It's saying "Sunday is ahead of Wednesday" is really chance. So it's not a very strong significance. In other words, my watching is higher on Sundays, lower on Wednesdays, but this is **not statistically significant**. That is good to know.
- External cross-checks: It says COVID streaming surge is well documented.

So, cross-check found two errors that it made. Now it's going to do the visualization. The kinds of visuals that it can create, you would see in the data stories page, and some of them are truly stunning.

**Question**: Harikrishnan asks if vibe coding of video generation apps is that easy? What benefit when using Synthesia or Midjourney?

**Answer**: Maybe the difference will fade over time, Hari. I am not sure if today the tools that are able to vibe code even have access to the models that can generate the videos. These are two very different things.

- Creating a video by vibe coding means writing a program to create a video.
- Synthesia or Sora or Midjourney can generate the asset.

But if you start connecting vibe coding to an API like Synthesia or Midjourney, then the possibilities get compounded. So maybe it's not an "either/or." It may be that each has its place, and combining them can come up with even more.

**Closing**

Some of the things that we started are incomplete. That is actually pretty thematic of vibe coding in itself. You don't necessarily vibe code so that everything goes to closure. You don't necessarily vibe code to make sure that everything succeeds. You vibe code because it's easy, and it can take you to places where you might not have otherwise been able to go to. It lowers the cost dramatically.

**What takeaways would I recommend?**

1. **Practice vibe coding.** How often? I would say for **one month, every day.** That's what it takes to build a habit. When you force yourself, that's when you will get ideas. That's when the brain will get trained to think of vibe coding, which otherwise you might not even have thought of. If you don't know _what_ to vibe code, ask ChatGPT. It will give you ideas. But spend that time doing a little bit of vibe coding.
2. **Learn to give up.** In this session, I have been somewhat careful in showing how vibe coding can be made easy—meaning I picked easy examples. What you try may not be easy examples. When something fails, don't try too hard. Just give up, move on, try something else. That is usually higher ROI than getting stuck on something and trying to get it to work.
3. **New tools are constantly getting released every day.** There are two perspectives on this. One is: doesn't matter what tool you use, they all have similar capabilities. So you may as well just stick to one tool and pursue learning that better. No harm. Or you could say: when I try out new things in new tools, it gives me a different idea, a different perspective. No harm. Doesn't matter. The important thing is that you actually keep the practice up, and that is vital.

We don't have any group to share/communicate, but create your own communities. **Share what you vibe coded.** This is my only request and possibly the biggest takeaway of all. If you share what you vibe coded, others will learn, get inspired. But more importantly, we learn best when we teach.

With that, thank you everyone for joining in. Take care. All the best vibe coding. Have a good day.
