Transcription
Can a Vive coder make a better app than a senior iOS engineer? Well, that's exactly what we're going to try and find out today.
In this video, I Riley Brown, a Vive Coder, am taking on Vishall Dwey, a senior iOS developer who's been building iOS apps for the past 10 years. We're going head-to-head to see who can build a better clone of Granola, a $250 million app with multiple AI features. We each only have five prompts to build this app and we can only use AI. And in this video, we're going to see whose app is better.
And so, Vashall is going to be using Claude Code. And I'm going to be using a tool made specifically for vibe coding mobile apps. And you're going to be the judge of whose app is better in the comments. And we're going to be giving $1,000 of credits to three people who vote in the comments below. And if you like videos like these, make sure to hit that like and subscribe button because if this video does well, we're just going to keep doing them. Let's not waste any more time. Let's dive into the video.
So, here are the rules. Obviously, it is a senior iOS developer versus a vibe coder. I'm going to get a slight advantage. Since you're going first, I will kind of get to see what your first prompt is. Right. So, we're each going to have five prompts to create a granola clone. Granola for those of you who don't know is a at this point their last valuation was $250 million company and it is a AI notetaker app and so that's what we're trying to create today.
The challenge after five prompts who can get the closest to this app and the specific features that we want today are is an app that records voice and audio. It transcribes that audio into just a transcript and then it syncs with calendar so that when you record a meeting it shows up in your calendar at that specific time. There is an AI summary. So after a transcription it gives an AI summary and then there are folders that the user can add and it can they can add the meetings to different folders. Does that make sense?
>> Yeah, makes sense.
>> So this the way that we're going to do this is we're going to do this snake style. So 10 total prompts. It's going to go Vashall, Riley, Riley, Vashall, Vashall, Riley, Riley, Vashall, Vashall, Riley. 10 total prompts.
So, what is what is your stack?
>> Yeah. So, I'm thinking, you know, building a Swift app or building an iOS app. So, we've got to use Swift. Uh, that means we're going to use Xcode for sure as our IDE. And in terms of where I'm going to be prompting, I'm going to be rolling with Claude Code.
>> Legend. The most talked about AI tool right now I would say is Claude Code for sure.
>> Yeah. And I I think in practice too I' I've seen Claude Code probably out edges GPT5 in terms of Swift. But I mean we're putting that to the test right now.
>> Let's do it. So what you should do right now is go ahead and talk us through your setup. You're going to get set up with your stack and then go ahead and you can do your first prompt.
>> Yeah, let's do it. I think the first thing that we're going to do is probably open up Xcode and create a directory for this. So, let let's get started. Make a new project. We're going to be making an app here. And let's pick a name. H I guess we're we're cloning granola.
>> Cloning granola.
>> You know, I I think it's only right we call it cereal.
>> Cereal.
>> That's great.
>> So, let's So, you're basically just creating the folder where this project will exist.
>> Exactly. It kind of creates some like base template. I guess we'll use simulator. So folks can see as well. I remember my first time seeing simulator. I tried to do every single thing I could do on my phone on the simulator to see like, you know, maybe you don't need a phone, right? But it's not that good.
>> Yeah.
>> Can't make calls. Yeah. As you can see there, there's like nothing here. This like main app file which kind of houses the root directory of this app and then this one content view where the only thing inside you can see is like an image and text that are uh vertically aligned.
>> Gotcha. Gotcha. And so what are you going to be using to generate the code? Because Xcode doesn't generate code or can kind of, but it's not that good, right?
>> It has some like base kind of autocomplete, but it's not really good at all. And it definitely can't do like multifile edits that I've seen. Yeah.
>> Um, so for that, we're going to be using clawed code in terminal. So what I'll do is like I'll go ahead and open up my terminal. So right now I'll find so ls I'll I'll list kind of the directories here. CD. I'll I'll go into the five code folder. Check it again. And we have serial.
>> So CD serial. What does that mean?
>> Uh I'm basically just moving into the serial directory. So what we're going to do here is we'll get started with claude code. And you know they've made this really easy. You know, all you got to do is type claude. We'll go ahead and proceed here. And here we are. So we can just start prompting immediately. Not going to waste any prompts yet. But yeah, this is initialized in this directory. And now Claude Code because I'm in serial has access to like view and edit anything in this serial directory.
>> So you're ready to prompt?
>> Yeah, we're we're ready to go. So
>> let's get the first prompt.
>> Let's do it.
>> Let's build the serial. So looking at the kind of instructions here again. We're we want to record voice and audio transcribe audio sync with calendar. When there's a meeting, it should show up and I should be able to click on that and presumably start recording. And after the recording is done, I should have some kind of transcription, but also an AI summary. So there's going to be some kind of like speech to text element as well. And then lastly, users can create folders and there's like an organizational component, too. So I think a good place for us to get started, I think we'll leave folders out of this prompt for now, just because I think folders is something that Cloud Code is probably pretty good at just reorganizing at the end.
>> right? We're going to start off with let's see if with this one prompt we can get to a state where we can transcribe audio and see it list out for conversations. So let's start with our prompt. You are a senior iOS engineer helping me build a granola app granola style app. For context, Granola is an app that lets users record meetings and then it uses AI to automatically transcribe the meeting as well as come up with AI generated meeting summaries. We want to create a similar style app where users can record meetings that are on their calendar and then view transcriptions and AI summaries after the recording has finished. Your job is to help me build this in accordance with best practices for a swift native development with a iOS target app and whichever AI frameworks are the best available for the functionality we are trying to reproduce.
>> Gotcha. Wow.
>> Yeah. So I think we got the gist of it. Um,
>> so you seem you got all of them but the
>> but the folders.
>> But the folders. That's probably Yeah, that is probably a good idea.
>> Yeah. And I think like broadly it's good to break down the problems where like if you have an organizational or folders is really just like a UI thing. It's not really a functionality
>> element. AI is pretty good at just oneshotting that at the end. And honestly, this could, you know, bite us bite me in the end.
>> Yeah. Yeah, we'll see. We'll see.
>> Yeah, we'll see. So, really got to lock in on this in the next three. So I'm going to click enter here and let's see where it goes.
>> All right, the first prompt is underway. So cloud code is now generating code. And so what is it doing?
>> What it's doing here is I first it's going to you know create the architecture. So all the folders organization for the views, view models, utilities, services, resources, and then you're just like data models. And then it's I guess going to set those up. Start off with the calendar integration and then do the audio recording. using both using Event Kit and AV audio recorder which are actually iOS native frameworks. So both of those are maintained and used by Apple. It's going to integrate a speech framework for transcription but it actually hasn't said which one yet. So I'm curious curious what it's going to say when we get there.
>> Um
>> there's so many steps in this one. This is actually wild.
>> Yeah.
>> Wait. 1 2 3 4 5 6 7 8 9 10 steps for this.
>> Yeah.
>> Damn.
>> And then set up a Oh wow. We're already going. So I guess this is the model for the the meeting itself. Start date, end date, attendees. Interesting. So this is probably based on the event kit framework.
>> I never mentioned this, but uh you guys are all going to be voting for whose Granola app is the best. And we're giving $1,000 of tokens away to three people at random. So if you guess correctly, uh there will be like a raffle and you can win $1,000 worth of tokens. I think it's a great deal. Um I mean it literally is like $1,000.
>> Yeah, we'll give away a thousand tokens to three people. We'll just give away a thousand to three different people and that'll be sick.
>> Yeah.
>> Now, what is it doing?
>> It seems like it's kind of battling through these to-dos. You think it's going to oneshot this?
>> I don't know. I've seen Claude do some crazy stuff.
>> And now it's going to generate the transcription service using the Apple speech framework. So, let's just
>> Oh, it's using Apple speech framework.
>> Yeah. So it it chose interestingly to stick with Apple.
>> Looks like it's almost done now. Your app is ready.
>> We're done.
>> Okay. This is fun. So now remember before you entered this prompt, it was just hello world.
>> Yeah.
>> And we're going to see it now. So you hit the play button. No editing.
>> No. No editing.
>> Nothing.
>> Just the play button. And we got a build.
>> Build failed.
>> Okay. It looks like it's only one error. So, um, what you're going to have to do is if maybe you use one of your prompts on fixing an error. That's part of this game.
>> Yeah.
>> Unfortunately, you can't test it because it failed. So, it looks like next turn that you use is going to have to be fixing an error. If I run into the same thing, same thing. Like that's part of the risk of tackling too many things at the beginning.
>> Yeah. I'm not allowed to edit the code myself.
>> None. No, you only get prompts into the AI. That's it. That's it.
>> Okay. I I like it. Let's Let's see what these errors are. Okay. So, there's two errors here. One is in our calendar service. You can see the guard body must not fall through. Consider using a return or a throw to exit the scope. So, one thing that we're going to do is we're just going to copy this one.
>> We're going to go to cloud code and say there are some errors. I'm going to paste all of them and you will help me Yeah, cool. you will help me fix these errors so that I can test the changes that we have made.
>> Great.
>> So, I'll paste them, but I won't send it yet.
>> And what's cool is is like even if you fail, like even if like you ran into this fail, but if you can fix it in one prompt, you're still only on prompt three and you only have one feature left to add.
>> Exactly. So, this other one is So, it's a cannot use an optional chaining on nonoptional value URL. This one is just a classic optional versus nonoptional Swift error. But
>> what was the first what was the first error about? Was it about the calendar?
>> So the the first one was it's not about the calendar per se, but it's basically saying that if the guard here, so a guard is away this authorization status. This guard is just checking that it needs to be full access. If it's not, it's going to request. And this is essentially saying that we need to exit the scope if this guard fails. As in when you enter in this like else block, it needs to be able to get out of this fetch event. So it's telling us either return nothing or throw an error.
>> Um but you got to do something.
>> Got you.
>> Yeah. But I think you know these errors aren't too bad. So I'll just keep it for here now. Should I click enter?
>> I guess if you click enter that will be your turn too. And then when we come back this will be done. And so then we'll be ready to go for your turn three.
>> All right, perfect.
>> Cool. Okay. So, let's switch it to me. So, now I guess I'll introduce my stack. We can mark these off just so everyone kind of understands where we are in this. If you follow along on the snake part of this. So, you just did this turn and then you entered this turn. Yeah.
>> And so, you're basically two prompts deep. You're about to test and enter your third. I still need to do my first and second. So, for my stack, I'm going to be, you know, I'm a vibe coder, right? I was born and raised a vibe coder. So we're going to be using vibe code and we can use either the web app or the mobile app. So this is just my phone view so can see what's going on too. I'll set this here. Being a vibe coder there's a lot that you just did, right? Like you opened a terminal which is scary. Xcode which is scary. Um, vibe code I think is the best way to build mobile apps to kind of um not go down that path of complexity and it just makes it more simple. So, we're going to be using this tool. And let's start thinking about the first prompt here. So,
>> before you do your first prompt, what's your model of choice?
>> What's my model of choice? Okay, before we do that, why don't you look in cloud code and see what model you were using? I don't know if you can do that if it's done, but if it is done, you should check because I think I should match you, whatever you did. Okay. So, if you uh are using cloud code and you just type slashmodel, you can see what model you're running. You're on default.
>> I'm on default. It said it will do Opus for the first 50%. And then after that it will use Sonnet.
>> Got you. Got you. Okay. So for this then to make it fair, I'm going to be using Opus 4.1 as well. And for Opus 4.1 is actually insane. And I'm going to go with my first prompt here. And so I'm going to be using just the mobile app for my first prompt. And I just like to draft out I actually kind of just write out my prompt here. I'm just going to kind of write my prompt in Excaladraw here and I'm just going to paste it into the app. So, I saw what you did. I think I have a hunch that the hardest feature for me to add will be the calendar. So, I'm going to do four of these, but I'm going to wait and do the calendar one. I'm going to add that at the end.
>> Why do you think calendar is the hardest?
>> I just I don't know why. I I I know I mean I vibe code a lot. You know me, I vibe code every day. I've built apps very similar to this and I don't think I'll have a problem with any of them. I just have I've never done calendar integration. So, for that reason, I'm going to stick to what I know and then do the hard part at the end. That's just what my instincts are telling me and I'm going to rely on my instincts. I have good vibe instincts.
>> Yeah.
>> Okay. So, let's chip this. So, I'm going to start off kind of like I need the greatest AI meeting notetaker app of all time. It's probably not the best way to start off the prompt, but I don't care. It's going to be great. We are creating an app that is very similar to Granola except I want you to focus on these features first. I'm just going to copy and paste. So these are the features that I want. Records voice. It transcribes that voice into audio. I'm going to skip this one for later. Right. We're going to add this one in just a second. After transcription is complete, it automatically generates an AI summary. I can create folders um and add meetings to that folder. So on the home screen of the app, I should see a list of all my meetings. If I click on one of the meetings, it should take me to a meetings details page. The meeting details page should have the transcript and the AI summary and then all of the other information you might need, including date and time and then anything else you would absolutely need. Don't veer off and try and add anything beyond the scope, but if there's something that I clearly missed, go ahead and add that because in the future, not now, but in the future, we're going to be adding a calendar integration. Not yet, I just want you to prepare for that. So, build it with that in mind. This is going to integrate with the calendar and that is basically the full scope of the app. But I want you to focus on these four features that I listed above first. Act like the greatest engineer of all time and make this happen.
>> Let's go.
>> What are your thoughts?
>> I think that's a great prompt. I think probably good intuition on not including the calendar.
>> Let's Let's just run it. I just want to run it. We're going to ship this in. All right.
>> It's going.
>> It is. I'm letting Jesus take the wheel here. My first prompt is done. Anyway, what were you saying? Sorry. So for calendar, for access to your calendar, it's going to be using event kit. Uh that is like the native Apple calendar access framework. And that's why I think it's you know probably good intuition to not have included it in the vibe code prompt first to focus first on like the core functionality and then in include like Apple specific frameworks after.
>> Oh, I didn't specify the open AI API. That's one regret I have. But that's okay. I Oh, integrate transcription with OpenAI 4.0. That's crazy. Or GPT40. So, Vashall went first and he got an error. And then he entered in his second prompt. And we're about to just take a take a look. We're not going to enter in any prompts, but we're going to take a look and see how that did. I just entered my first prompt. So, I'm done with my first prompt. So, after we check on Vashall's, we'll come back to mine. Okay, let's take a look. Uh so looking at clawed code here both the build errors have been fixed. Okay cool. So remove some unnecessary chaining changed it to an if so avoiding the fall through. Okay let's see if it builds build failed again. Okay,
>> this
>> this issue seems like so derived data is probably the bane of every iOS developer's existence. Uh, there's just some like cached build information that is preventing this build from working. Is there an actual error? We don't know. But what I'm going to go ahead and do is clear the derived data. We were having a drive data infop list issue and we fixed that by just removing it. It seems like it was just copying it twice in the building phase. So we were able to fix that and let's give it a run while Riley's is still chugging away.
>> Let's see it.
>> Okay.
>> Okay. Serial. Okay. So it works. So now it's the first thing that it did is it's asking for access to your calendar, which is what you want.
>> Yeah. So we're going to allow full access. Access the mic. This is good. is like the main two things we need and speech recognition. So one is like can I listen to audio and the other is can I transcribe
>> the speech.
>> That makes sense.
>> And I think mine is going to use Apple's speech recognition. So probably what they use for dictation mode.
>> Gotcha.
>> Yeah.
>> Let's ship this dude. Oh wow. I
>> Okay.
>> Okay. Meeting.
>> Should we give it a try?
>> I don't see a record button.
>> Yeah. So I I might have to click on a meeting. Let's see. Okay. Oh, okay.
>> I click on a meeting to record.
>> How do you add a meeting? Oh, it Oh, the way yours is set up.
>> It goes to the calendar.
>> Oh, you Oh, you schedule a meeting on your calendar. You click on it, then you play. Okay, this makes sense.
>> So, let's let's just see if it works. Let's let's add a calendar event.
>> Podcast with Riley.
>> Podcast with Riley. Location Vibe Code HQ.
>> It is Vive Code HQ. Okay.
>> So, we're going to add that in. Let's go back to our app here. Click this refresh. Perfect.
>> Click on it.
>> Wow. Wow. Okay. This is good.
>> It's looking good.
>> Wow. Dang.
>> Shall we record?
>> Yeah. Do it. Do it. Okay. Oh, no. That looks good.
>> It's a sick animation.
>> That looks really good. I would change the coloring a little bit, but like dang, that's pretty solid.
>> So, if we stop talking, will it go down?
>> Um, okay. Riley and Rashall are in a huge argument about Yu-Gi-Oh and whether or not it's actually anime or not. This is just for recording purposes.
>> Yeah, I think it is not real anime, but Riley does.
>> Okay. And that is Val speaking and I am Riley speaking and I do.
>> Yeah.
>> Okay. Stop it.
>> Oh no.
>> Yes.
>> Open AI API key is missing.
>> Oh, okay. Okay. You can add the API.
>> Please add it to the environment.
>> Add the API key. That's okay. That's okay. Um, just to switch it back to me while you're going to that like okay so just a reminder um if we take a look and see what Vashall has done. Vashall did his first prompt. His second prompt was um fixing the error and so you're about to enter your third prompt but yes you're two prompts in okay so you're about to go into that and right now you're getting your API key.
>> So we've added the open AI API key to the environment for this Xcode project. Uh, one unique thing about Xcode is like the way you add it is you kind of click on your target up here and you click edit scheme. So unlike you know React Native apps you might just be adding it to the env here you do edit scheme and you add it as an environment variable here. Let's see if it works. So click play. Build succeeded.
>> Fingers crossed.
>> Let's hope it works.
>> Let's hope it fails.
>> This will be big. This will be big if it fails because then you'd be on prompt four.
>> I will be.
>> You'll be on prompt three, but you'll have to fix it.
>> Yeah, prompt three will be fixing it. So, I'm And I don't have folders yet.
>> You don't have folders. Let's see.
>> Okay. Ready to record. Okay. We're here filming a episode with Riley in the studio. Riley, do you want to say anything?
>> Yes. Please fail.
>> Please don't fail. Okay, let's see if it worked. Recording. Yes. No.
>> Wait, did it get the transcript?
>> Let's see. The error though is failed to generate summary from API. Uh, so let's see if it got the transcript though. Failed to generate summary from API. Interesting.
>> Okay. So, you did get the transcript. Okay. So, your transcript did work.
>> So, it's it's using the Apple speech library. It's able to get the transcript and transcribe what I'm saying. the OpenAI API call didn't work.
>> Okay. Right. And yeah. And so like so what you're what we're doing here is we're basically recording our voice. Then we're using a speechtoext model which is whisper to convert it into a transcript and then immediately converting that transcript into a summary, right? And so imagine if you talked for an hour, it would immediately just grab the whole transcript, which is useful. You can command F it, but you also want that quick summary so you have like
>> action items, etc. So, it failed on that last part.
>> Yeah, except this one's not using Whisper. Yours might be
>> Oh, yeah. You're using a different
>> I'm using cuz Claude Code chose to go with the Apple native speech to text, which honestly is probably worse.
>> It probably is worse. I mean, that's the one that if you press on the bottom right of your phone while you're recording, that's the same one, right?
>> Yes.
>> Wow. Yeah, that one is worse for sure.
>> It's significantly worse. Um, but maybe maybe fingers crossed if I have three prompts. So, one bug fix, one folders.
>> Yeah. Yeah. Yeah. I mean, I mean, you're in a decent position. You're in a decent position. I still have four prompts left. Keep that in mind. Let's go back. Let's go back to our app. I think
>> we'll come back to prompt three in a second. So, okay. So, we'll go back to my screen here where here's where we are. All we've done is one prompt, right? You can see that all we had was our first prompt, and we're still cooking along here. I am going to um hit this refresh button. Let's see what it looks like. No meetings yet. You see this? I know you can't see it, but
>> no meetings yet. Okay,
>> it looks pretty good.
>> Yeah, looks great.
>> I'm nervous. I'm nervous.
>> Where you going to get the calendar meetings though?
>> Yeah, the calendar part is tough, but I think we can I think we can It's modifiable. I don't think it's like
>> I saw a calendar button on the UI. So
>> here.
>> Yeah. Oh, sorry.
>> That's the folder button. That's a folder.
>> Um, okay. So, I'm going to test it. So, we have folders. I'm not going to look at folders until we do record something. So, okay, this looks pretty good. It's quite simple. Meeting title at the top. So, I'm just going to call this podcast with Vishall and then return. And now, okay, it is ugly. All right, I'm recording with Vishall. We are testing the uh recording feature. Um, wow, is the styling bad, but nothing has technically failed yet. We'll see after this.
>> No build failures at least.
>> No build failures. Nothing. Let's see.
>> Transcribing. Okay.
>> I mean, this is a good sign. Usually, if it fails, it would have already failed.
>> So, it's doing something. But now it's taking a little long.
>> This is a little long. Whisper should not be taking this long. If we get caught in this infinite loop trying to figure out why
>> because we don't know whether or not it's failing on which step it's failing.
>> We don't know. Yeah. Um, so it looks like I'm gonna be doing some error prompts, unfortunately. Oh, okay. So, we do have this render error. Oh, I hope it's a render error.
>> Yeah.
>> Um, and since we are doing this snake style, remember I am I'm going next even though Michelle went next. Um, I am going to go ahead and enter my second prompt here. Let's see. So, copy and dismiss. Okay, so I got an error on the uh when I started recording my voice, it was per uh I recorded myself for a minute speaking and I pressed submit and then it was stuck permanently loading and I don't know what the issue is beyond this. Uh when I swiped down to dismiss the meeting in the permanent loading state, it showed a render error and that error is listed below. So, I just typed this in or I used the voice on this. And then here, what I'm going to do is I am going to paste in that render error. Okay. And I actually just finished my second prompt and we're actually even. You're about to start your third prompt. So, we're neck and neck. I feel like you might be a little bit ahead in features if yours works. Um, but let's go ahead and give this a good old refresh. So, no meetings yet. Um, I'm going to go ahead and start my recording. I'm going to put uh Riley and Vashall and let's see if this works. I'm testing this out. This is a recording between Riley and Vashall. Riley is better than Vashall in every way.
>> This app will win in every single way
>> except for the ways that are important, which are all of them.
>> Oh, let's go. Let's go.
>> Look at that. Look at that. And summary transcript. We have this clean toggle.
>> How does the transcript look?
>> Transcript. I'm testing this out. This is an I mean, this is using Whisper, so this is going to be better than yours at least.
>> So far, I
>> I mean, you're using Apple. You're using the native Apple one. Look at that, though. Come on. That's clean.
>> Okay. I'll I'll give you that. But
>> Okay. Wow. And it's 7:14 and it has the time, so I don't think it's going to be too difficult to integrate with um
>> calendar.
>> Calendar. Okay.
>> I mean, let's see what's harder.
>> We each have We each have three. I'll switch the camera back to you. You have the floor. Let's see.
>> Okay. So, this is definitely concerning. Um, that Riley's app with Vibe Code is like pretty much almost there. And we still have to add folders, but he still needs to add calendar.
>> Oh, yeah. I forgot I have folders. You don't yet. Oh, I didn't even look at that yet.
>> And we've each used two prompts. So let's uh so the error that we were getting earlier the um I believe it was failed to generate summary from API. I did a quick Google search and it turns out I had zero left on my open API. So I had to go buy some tokens, bought $50 of tokens. So hopefully we don't run out now. Um, and then we'll give it another try.
>> Amazing.
>> So podcast with Riley. Oh man, it seems like this one, see, like there's some extra functionality here that we didn't even predict, which is uh once you record one, you can't record again >> for for one of the meetings cuz it it won't let me.
>> That's another thing you need to fix is you need to be able to uh to just add an event in your app, too.
>> It should work both ways. If you add a calendar event, it syncs to the app, but if you record, it generates a calendar event for that.
>> That would be cool. Yes.
>> Here you can see we added it, came back, refreshed, and let's let's give it a try.
>> I do like this a lot though.
>> Test test. I have the better animation, right?
>> Yeah, I would say you do, actually.
>> Let's pause it.
>> Pausing is actually low-key fire. Not going to lie.
>> Pausing is great.
>> Yep.
>> Now we've resumed it and now we've ended it.
>> I wonder if that could that could cause
>> transcription generating and the summary animation. One participant claiming to have the superior. Yep. Yep. Yep.
>> It paused and resumed. So, it knew we're pausing and resuming.
>> Okay. So, yours is working. Do you have a double bottom sheet as well? You do? Like, yeah.
>> So, we both we both have this double like is sc push that down like both double bottom sheets. Kind of weird.
>> So, you kind of got to do both.
>> That's a bad design, right? Like you're So, it is your turn.
>> It is my turn.
>> It's your turn for prompt number three. So, we have three more prompts. Yeah. So, I think there's, you know, one thing we definitely need is folders. So, let's see if we can get that in this prompt. Um, just to get the base criteria out of the way and maybe we can nail in the functionality. Maybe maybe we'll do folders and UI. We'll we'll have this prompt focused on reorganization and UI enhancements. So, one thing I want to do is I don't like how you have to click transcription and summary back and forth. I don't like that. So, I think both of them should be on this page. Uh,
>> like mine.
>> Yeah, like Riley's. Yeah. Um, and and I want a I want a plus button to start another recording. Um, and I want all the you know, one thing we'll steal from Riley's is when you do a recording, I want it to be in this like main folder and then you should be able to add folders and then select which ones go in the folder. So, let's see if Cloud Code can nail this. So say okay great the build is working and I am able to run the app. We have made some key changes to get the app to successfully run. So please read through the code base again just to refamiliarize yourself. Just want to make sure cloud code doesn't edit that like info pist error we were getting earlier. And now let's get into the functionality. Let's focus on making some UI enhancements now and expanding functionality through adding folders. I want to be able to create folders for the different recordings. I guess on a recording level or on an event level. What's what's better? Maybe event.
>> I think it's an event. Yeah,
>> event. Cuz one thing I want to do in mine is I want multiple recordings within an event. I think that makes sense.
>> And you organize the events in the folder, right? In real life, you might have multiple
>> Yeah. Yeah, you put the You can think of it as meetings. So meetings might have multiple recordings. The meetings are in folders.
>> Yeah. The meetings are in folders. Like work meeting, fun,
>> but you can have as many recordings as you want in a given meeting.
>> Yeah, exactly. So I want to be able to create folders for the different events. I also want to be able to create more than one recording slash summary within a given event for the recording. Let's just show the transcription and the summary on the detail view without having to open up a new sheet each time. Please focus on not breaking existing functionality as you make these changes, but rather expanding to include these additional features. If you need to refactor components to do so, please do it. Yeah. So, I think I'm pretty happy with this. I'll give it one more instruction which is if you're making UI related changes, focus on good design principles and simple and intuitive UI. So that's my prompt.
>> There you go. Okay. So you're entered your prompt.
>> I'm trying to do a lot here. But
>> you are trying to do a lot.
>> But it also did a lot the first time.
>> It did a lot the first time.
>> Did calendar it. You know,
>> if this were to fail, where do you think it would fail?
>> It's a good question. I think it might get confused when we're talking about having right now we just have events and we have one recording. It's one event, one recording. Now we're doing event folder, multiple events in a folder and now it's not event recording, it's multiple recordings in an event.
>> Right. Right.
>> And I think it might get confused as it's doing that. I hope not.
>> This might take a while. Why don't I just go for my next prompt while this is loading? So yours is loading. So you just did prompt number three. I am about to do three. So, we both kind of like just to kind of like do like a a summary. So, my first prompt I went through these four. You did the other four. Um, you also had to fix an error on your third and now you're trying to get you're trying to get folders. Well, on this one, I'm trying to get calendar. Oh, god. Yeah. Uh, calendar access. Okay. So, let's go ahead and give this prompt here. Okay. I want you to allow this app to integrate with my calendar. This means that I should see all of my events in the calendar in my app. So all of them and then I should also be able to create if I just record like I am now it should add it to the calendar at the current time and by default make it 30 minutes for simplicity reasons right now. Like if I were to record, even if it's 5 minutes, just make it a 30 minute meeting starting at the time, whatever time that it gets recorded at for simplicity sake. I also want to be able to click on events on my in the app. Like I should see the calendar events in my app that are coming up soon. And I want to be able to click on those events and then immediately create a transcription or I want to be able to record the meeting notes for that event. That is what I want to do. In order to do this, please look up the uh Expo calendar documentation uh to implement this and I please do this in a simple ma manner and make sure that you get everything that I just said and nail that core functionality.
>> So you sent the prompt.
>> I recorded my voice. I'm sending it in.
>> Sticking with Opus 4.1.
>> Sticking with Opus 4.1. You think I'll run into trouble with that prompt?
>> Um maybe. I think maybe I think I think the transcription part maybe was like a little confusing.
>> Maybe
>> maybe
>> it's opus.
>> It's opus. But I think it was nice that you gave
>> Oh, you've been recording for two and a half minutes.
>> I have.
>> Oh, nice.
>> Little surprise test. Let's see how
>> I like it. I like it. I like it.
>> You know, a real life use case. So, let's
>> Yeah, a longer one. This is good.
>> Let's see if it works.
>> And then you can It'll summarize my prompt.
>> Yeah, that's the goal at least. Oh, I should have told it to switch to OpenAI Whisper.
>> Mhm. So now I've used my third. I have two more.
>> You have two more prompts. Okay. Yeah, you need to paragraph this, bro. Look at that. That is ugly. Action items.
>> Consult Expo Calendar under operational section 4.1.
>> Wow. It really has no clue what we're doing. It doesn't have the context. Yeah.
>> You know, um Yeah, that's funny. Yeah, it's very interesting.
>> And if we look at the to-dos, it is it's going it's updated the data models. It refactored the meeting to support multiple recordings. It is it created the folder management system and right now it is updating the detail view to show the transcriptions and summaries. So I think we're on the UI part of it now.
>> Wait, so you got folders? Oh, it's still working.
>> It's still working.
>> Oh, what the heck?
>> Yeah, it's taking forever. Okay. Oh, wow. I did not realize it's still going.
>> Opus doesn't play.
>> Clearly, it is. It's going off hanging out doing Damn. Okay. So, we'll wait for both of ours to finish. We both entered our third.
>> Yeah. Okay. We're back. So, it finished Cloud Code, you know, updated all these to-dos, new features, folder organization, check. Multiple recordings per meeting, check. Enhanced meeting detail view, check. And improved UIUX. This was a lot of changes. So
>> yeah, that was insane how long that worked for. That was 10 minutes. That was a long time. I I guess opus just takes a while.
>> Takes forever. Go ahead and run it again. It succeeded. Succeeded. All right, let's see. So, I'm going to be depressed if you get this
>> data. Could it be read because it is missing? That is not good. So, it it's asking for all the permissions again.
>> And then it added these as like placeholders with the proper ones.
>> There's work, personal, important, plus folder. Oh, nice.
>> Ah, no. This looks
>> Oh my god, this is great. So, uh, damn. say unimportant.
>> Don't you dare put me in that folder. You know, this is pretty good. This is pretty good.
>> So, let's
>> recording Riley's changes.
>> Oh my. Oh, wow. It has all those recordings up top. Oh, wow. I like this. It's on to something. It's on to something.
>> It's cooking something.
>> Yeah.
>> Let's see. Okay. Do Do another. Do another. You got this, man. See, I I think it should dismiss immediately. I don't like how it stays there for a sec because I feel like I could just click record again,
>> right?
>> Oh, this is cool, though. We're We're getting somewhere. Oh, nice.
>> Yeah, this is cool.
>> Very cool. Settings is still dead, but that's fine. Let's see if the folder worked. Oh, no. Did it add to the folder? Add to a folder. Unimportant. Save. Oh no. So, the folder functionality isn't working. This is not good.
>> All right. So that's prompt three. I need to check on my app. So let's go ahead and switch it back. I can let you ponder the issue there. So that was your third prompt.
>> Yeah.
>> So you tried to add folders and it's like half succeeded. Yeah.
>> Half succeeded.
>> Um, okay. So let's go here. So I have my app right here. Um, allow full access. Okay. So I got this calendar thing. Allow full access. We do have this visualized list.
>> So, I'm going to copy this. Um, but um that might not be a huge problem. Let's see. So, let's add something to my calendar. I don't use the native Apple calendar. Oh, wait. I don't even calendar. So, I can click on today. And if I add an event here called test, save it. In theory, it would show up here, right? So, this must be the error you're getting.
>> Okay. So, Oh, yes. It's up top. You see that? Upcoming events.
>> I like the upcoming events.
>> I like it, too. I like it, too. So, I can click on this. Oh, and it automatically shows up as test and I can hit record. So, one thing that I want to do very close in the future is change the uh recording animation. This is absolutely horrendous. Absolutely horrendous, dude. I'm not going to lie. We're integrated with calendar.
>> Oh man,
>> look at that. I just opened it up and recorded. We have the transcript.
>> But but can you create multiple recordings?
>> No, I will add that next. But I'm liking where this app is at. I think there's probably just some render error. I think that's the error. I don't think it's a big It's definitely not a big error. This is working well. Um, but I'm feeling good where I'm at after three prompts.
>> Okay, so fourth prompt. Now we're going to focus on So the the folder functionality wasn't working. That's not good. Like I can add to folder.
>> Like you can click add to folder, but it's not showing any indication that it's in that folder. And it's not even saying that.
>> It's not even saving it. So it's, you know,
>> something's up.
>> Something's up. Everything's still in all. So, that's not good. The other thing is just not a big fan of this this transcription. I like how it tells me the words, but I want to use whisper. So, let's try and nail those two. And then maybe like quick UI fixes on this like title as well. I'll say I'm able to add multiple recordings per meeting/event but the folders functionality is not working. I can add folders and let's see can I remove folders? I can remove folders as well. add folders and remove folders. But I'm unable to add an event slash meeting to a folder. When I hit save, it doesn't save that meeting to the folder. And when I apply the filter, the meeting that is supposed to be in the folder is not there. Another um say I want you to investigate and fix this issue. So the folders functionality works. Another change I want you to make is to use open AI whisper for the speech to text. The same API key for open AI is there. So you can reference that. Please make both of these changes. Small UI
fix. The title gets the large title gets cut off when clicking on a meeting, and there is a delay after the recording ends before the recording sheet dismisses. We should probably have instant dismiss and loading. So, this is my fourth prompt focusing on two minor UI fixes: Whisper and fixing folders.
>> Only four to-dos.
>> Four to-dos. So, this one's a much simpler, but I think let's just go ahead and while yours is loading, while yours is loading, I think this will succeed. By the way, this seems like a pretty compact, relatively straightforward prompt, which will allow you to go for kind of like the final punch on your last prompt. You only have one more.
>> Only one more.
>> You have only one more. I have two more prompts. Okay. So I can add things to my calendar currently. So I can call this um celebrating victory against Vashall.
>> An event which won't actually happen.
>> Okay. So now we come back here. Uh, if we were to refresh it, I think it would show up. Um, okay, so we are getting this weird render error. So that's thing number one.
>> There we go. Right. Something's weird's happening. Right. Test isn't showing up properly in the upcoming events. You see that?
>> Yeah. So that is a problem. But I can click on this. I'm going to celebrate with myself. Um, okay. So everything's working except as you can see here, the two things that I want to fix right now. Uh, number one is the render error below when I add a new calendar event. So that's number one. That's the first thing that I'm going to fix. The next thing that I'm going to fix is the animation while recording is a really ugly bottom sheet. Instead, make the recording animation much simpler and better and cleaner. Think deep about this and make it good. Third, please add a follow-up recording that I can have that has a summary and transcript that are additional recordings beyond the original that live inside the meetings. So, meetings/events can have multiple recordings.
All right. This is a huge risk.
>> Yeah.
>> But we're doing it. Ship it.
>> This might be like, you know, th this could be the win.
>> This could be the win or the loss.
>> Or the loss.
>> Yeah. Please think about these changes that I want you to make and make them correctly. I'm counting on you. I need you to be successful with this.
>> The emotional plea.
>> Here they are.
>> Okay, that was a good prompt.
>> All right, so that's number four. Let's uh, we will go back to you uh for number five.
>> All issues fixed.
>> I hate you.
>> Opus, I love you.
>> And let's see if it builds. Please build. This is not good.
>> Oh no, he's got a lot of errors.
>> A redeclaration of transcription error. Very interesting. So
>> Mhm.
>> It seems like there are two transcription errors which are getting which are getting thrown. Yeah, we have two. The whisper service has one and a regular one has one.
>> So you you're saying is you didn't vibe hard enough.
>> I didn't vibe hard enough. And and one of these needs to be deleted.
>> Right?
>> Actually, so but we're not allowed to touch the code.
>> You're not allowed to touch the code unless it's deleting one singular bracket.
>> Yeah. So okay.
>> So now who you were just you were just like, "Oh, you're going to be here. spend your last
>> and now you have to do it fixing these errors. You can't even style it.
>> This is an easy one though. This is an easy one. I believe in you, Opus. Opus, you're my guy.
>> Whether or not it's easy, it's your last one.
>> Yeah.
>> So, are you confident in the styling because this is that's part of the voting. People are going to be voting. You're going to be voting guys out there. Styling should play a factor. And so,
>> okay,
>> if I get mine, then I get to focus my last prompt just on styling.
>> I think man, this this is tough, right? Because I can't. If I lose on styling, I might be done. But if I can't get the app to build, I'm definitely done.
>> Yeah.
>> So, okay, let's let's craft this prompt. Final prompt. Last dance. Yep. Let's go.
>> Last prompt.
>> Okay. There is a build error. Invalid redeclaration of transcription error in the file transcription. Transcription service. Seems as though there is a transcription error for both the old Apple speech to text to text service and the new one you made just now for open AI whisper. Can we fix this issue and make put all caps make sure that this new functionality will work and build successfully. Also, I'm going to go for it. I'm going for the big one.
>> Ship it. Go for ship.
>> Also, I want to make UI improvements across the app in a way that does not impede on any functionality and just focuses on design. I want the app to feel more fun and colorful while maintaining the intuitiveness that we already
>> This is a dangerous prompt.
>> It's dangerous. I'm going for it.
>> Not only does it need to succeed, but it needs to add the colorful elements in a way that doesn't make it look incredibly ugly.
>> Yeah. Let me let me give you my thought process.
>> Green background.
>> Okay. Don't make it ugly. If you feel as though your design changes might not look good or clean, please do not make them. And your end goal is to ship an app that foremost works but also looks and feels good to the user. If the app doesn't work, you are a failure.
>> Ship it.
>> Go.
>> You, sir, are done for the day.
>> Yeah.
>> Back. Oh, mine's still loading. So, we'll wait for both of ours to finish. I still have a prompt left. Yours is going to take like 20 minutes. I That's going to cost $10. Okay, we'll wait. Okay, it is done. And what we're going to do is we're going to look at the app here. If there's any errors, so be it. I'm done editing this. Um, and then we'll compare it to yours really quickly. And then we'll let everyone decide who wins.
>> Yeah.
>> Cool. Let's do this. So, I'm going to just refresh it. It's just force a habit. I know I don't even have to.
>> Okay, it built.
>> It did build. And it didn't get that little render error at the beginning, but that also might be because um I deleted the calendar events for testing here.
>> Yeah.
>> Um, let's go ahead and add um eating food.
>> Let's see if a render error pops up.
>> All right. So here we come back to the app, right? All we do is we refresh. We'll see eating food here at the top. No render error,
>> right?
>> We can go to eating food.
>> Let's see. This is a moment of truth. I swear, honestly, if it has the um the stupid Bro, I'm going to be pissed.
>> I mean, it's just so simple. It's,
>> you know, sometimes simplicity is good, though. You know,
>> I know. I know.
>> It doesn't have the gradient.
>> There's no gradient. It doesn't have any um audio. It has no like uh reactivity to the audio, but it does look good. Like this looks I would say it looks more professional than yours. I would say
>> I'm team Val on that one, but
>> Oh, wow. Well, I think that's a little bias. Um, okay. So, here we have the meeting details. Um, transcript works as normal. Um, but we can do record follow-up meeting. Last time, um, we were dealing with this error right here where it's trying to create a calendar event when I'm doing a record a follow-up meeting. Here we go.
>> Moment of truth.
>> Okay, it did a little flicker thing, but I think we're in the clear. Testing, testing, testing. Banana chicken turtle.
>> And this is where the error happened last time.
>> This is Oh, we are good.
>> Yeah, it's money. And it it shows the time for each one. So, 20 seconds, 7 seconds.
>> It makes that distinction. You see how it puts the parenthesis followup.
>> Yeah, I do see that.
>> I'm not going to lie, I'm feeling relatively confident. Oh, yeah. One other thing I want to add is couple menus there.
>> Second, right?
>> We go second. So, now that should be in the second menu. So, the folders work like basically perfectly low key. Um,
>> oh man, out of
>> But that is five prompts with Claude Opus 4.1. Um, and that's oatmeal. My app oatmeal. Uh, let's go over to Vashall. Um, when we have his app called meetings, apparently it's
>> No, it's called serial.
>> Oh, really?
>> Hm. Fine.
>> Well, I think, you know, it's because there's more functionality. There's more tabs coming. Yeah, fair enough. Fair enough.
>> You know, and like really, who put who puts granola in their oatmeal?
>> No, that's true. That's true.
>> Actually, I put granola in my oatmeal. I also do and peanut butter and a lot of other things.
>> Strawberries, strawberries, granola, and like peanut butter.
>> All of it. All of it. But stop diverting the attention from the fact that my app is better.
>> So, you know, I'm I'm going to make the case for my app. I think one, I like the today view. I like how it's not just upcoming meeting at the top. It's all your meetings for the day because, you know, the business world is really fluid. Things can move around.
>> Fair enough.
>> And, you know, it shows everything. And not only that, you also get a glimpse of the next week, you know, what's coming up, etc., etc. And you can kind of see what was earlier in the week, what's later in the week.
>> Sure.
>> You know, so that's one thing I like about mine. I think another is you know I think the summary and this is something of course that like we didn't prompt the summary like we told AI to come up with a prompt for another AI to make a summary for what we are be what we are saying which is transcribed by an AI.
>> Right. Right. And we we could definitely optimize the prompt.
>> There is prompt optimization across the board here.
>> Right. But again we didn't we can't even go into the code to edit the prompt. So
>> Exactly. Yeah, this is a cool little animation. I guess
>> it is cool.
>> Um, one thing, the folder functionality doesn't work perfectly, which is annoying, but I do have the location. I put Vibe Code HQ on the calendar invite, and it does show up here.
>> Um, and yeah, I I think, you know, you got a couple little colors there. And you also have here a sick sick recording animation, you know, not just this button, but
>> it is more fun. It feels like this would be maybe for like um solopreneurs or something. Mine seems more catered towards, you know, like, you know, a a McKenzie consultant or something.
>> Exactly. Like this gradient is maybe too distracting for like, you know, a presentation or something.
>> But I do I mean low key, I think mine might have an edge. So, okay. So, that's it. That is that's both of our apps. Um, I'm very curious for those of you watching whose app is better. And we decided if you vote down below on whose app is better, um, as long as you're subscribed to the channel and you also like this video, um, you can get you can potentially win $1,000 worth of credits for the Vive Code app if you vote below. I want to hear your thoughts. Vashall and I are going to be responding to as many of these comments as we can. I'm very curious to see uh who who you think won. Um, this was a fun really fun match. We're going to be doing these a lot. this format. And we might even get a third person in here and do like a three-way battle. I think it could be even more immersive. And maybe we'll just do speed round. We won't do limited by prompt. Maybe you'll just have 45 minutes to cook. And maybe I'll do a live announcement between like you and someone else at the company. I think that'd be really fun.
>> Yeah. No, I think that'd be great. I I really like
>> this. This was a good match. This was a good match.
>> Good match.
>> We'll see you guys here for the next video. Let's go team Vash.