Build a $1M App Using ONLY AI—No Code Needed (Bolt.new Tutorial)

Helena Liu and Mark build a Poe.com-style chat app in Bolt.new using OpenRouter's unified API, adding features like model selection, typing animations, and checkpoint rollback. They compare Bolt to Replit Agent, share prompt engineering tips to avoid hallucinations, and show two other apps built the same way.
Chapters
Imagine being able to create a million-dollar app using only AI without writing one single line of code and getting it production ready in less than an hour. This is a challenge that me and my friend Mark will undertake today. You will watch us recreate one of the most popular AI tools called Poe.com, and we're going to be using a groundbreaking new tool called Bolt.new. This is a new tool that has just launched which allows you to create software from only prompts. We're going to be covering how to use this tool, and by the way, you can get started for free. I'll include a link below, and this video is not sponsored. And we'll also go through the nuances of this tool and how you can prompt it better to get this software builder to build exactly what you are looking for. We'll also go through the pitfalls that we have experienced throughout the way so you can watch this entire journey. Now, I think everyone today should be getting into software. It is such a lucrative field because it allows you to generate recurring revenue. So make sure you watch this entire video in its entirety, and I hope you get a lot of value out of it. And let me know in the comment section below what kind of software you're looking to build. Also, if you're looking to get started in AI, please make sure you sign up for my free course as well. With that being said, let's dive into today's tutorial.
Right now, this whole space of building full-stack web applications from just a prompt is really blowing up and it's heating up in terms of competition. So for us, that's a good thing. Replit Agent is still innovating, but on the side, around a month ago, reallybold.new came on the horizon because it uses frameworks that Replit doesn't use. If you go back to the video that we filmed together around a month ago, Replit used things like Flask to actually deploy apps. And with Flask, you're always limited in terms of how pretty, how functional that frontend can be. Bolt allows you to deploy on things like React and uses TypeScript. So if you're not familiar with what those are, it just helps you build more fully functional web applications that are not as limited or could actually be production ready from a SaaS perspective. So that's the real difference between Bolt and Replit. Probably 6 to 8 months from now, all of them will do the same thing. But for now, each one's focusing on a different range of exercises here. So the way Bolt works is you write a prompt, and typically I'm gonna show you a cheat sheet just for the audience to better gauge how to use it. Your first prompt is the most important prompt. You lay the foundation for what your goal is on what you wanna actually build, how you wanna build it.
Mm-hmm.
And if you can give it a bit of a cheat sheet, because just like Replit Agent, if you remember, Sometimes it doesn't know how to implement the latest version of OpenAI. Maybe it doesn't have access to that training. So giving it a little snippet of a cheat sheet of, hey, this is how you implement it, by the way, is also helpful in conjunction with kind of laying out your vision. So in terms of a little cheat sheet on how to really use it here. So if I just pull this up, like I said, the first prompt you use, very similar if you remember to Replit Agent, is make or break. If you start wrong, then typically everything just gets built on a poor foundation. So that's not helpful. The next thing is if you hit a wall, again, similar to the Replit agent, you can always roll back to a previous version where let's say your web application was working, or at least you were in the good progress stage before things went awry.
Mm-hmm.
And then if things get really quote unquote bad, meaning no matter what you do, no matter how many times you say fix it, fix it, fix it, it doesn't actually fix it, I just start a brand new chat. Learning from what I just experienced, and I just try to synthesize and be more proactive about my next first prompt. So there's a couple different ways to go about this because this is imperfect end of the day. And in terms of the code snippets, like I said, if you can use something like Perplexity, even if you don't have any coding background and you said, how do you call OpenAI through an API? It'll give you a small snippet by searching their documentation. You can take that snippet and use it as a part of your prompt. So even if you don't know how to access Google Maps API, even if you don't know how to access Anthropic API, you can just ask Perplexity, take that little snippet, and then use that as your jumpstart. And then the last thing here is you can— so one thing that bolt.new doesn't really do intuitively that Replit did is it doesn't take screenshots of its UI or its errors. It's only looking at its codebase at all times. So sometimes when it's not realizing it has an error, I screenshot what's happening and I paste it in the chat to tell it, hey, I need you to take a look at this. This is what I see on the front end. Fix it. All right, so that's the actual cheat sheet. So what we're going to try to build, you and I, is this application called Poe. And if you haven't used Poe before, the short and long of it is the fact that you can use multiple large language models, not just ChatGPT. Not just OpenAI, to have conversations with different LLMs to see how they actually behave depending on the prompt. So if I say something like, and I go to more here, if I want to go and start a conversation with GPT-4o and I say, hey, tell me a joke, and I zoom in here. There we go. So it's going to tell me a joke. It gives me the option to resend that same prompt to, let's say, Claude and see how it would answer that same question. So it lets you bounce around between different large language models, which not only helps you understand, you know, how will this same prompt behave in all these models, but—
Right.
You can have an entire conversation and be flexible. So if you want to do, I don't know, an email, you can just use Claude. And if you want to write a project brief, you can switch and use GPT-4o. So you can use the best tool for the best job, which we think is a pretty good experience.
Yeah. So PaLM basically just— it's like a consolidator of all of the different language models and you can just switch between and choose which one you want to use.
Exactly. Exactly. So how we're going to attempt to build it is there is a service that exists called OpenRouter.
Okay.
So OpenRouter has an API that's honestly very easy to use. That allows you to switch dynamically between different LLMs. So if we go down here, we go to browse, you'll see it has access via API to all of these models at once, which is a huge advantage for you because typically you'd have to go to OpenAI's documentation, look up how to call their API, then go to Anthropic's documentation and figure out how to call Claude. And then the same thing for LLaMA, same thing for every single LLM. So that would be a headache for you to implement at scale. Whereas OpenRouter acts as literally a router that lets you access all of these services, but through one API key and through one request.
Okay.
So all we need here as a prerequisite is, what I did is I just put a credit for $5 on my account. And when you go to here, your profile, and you go to keys, then you can create your key. And this is all you'll need to actually access all these other than adding credits, which in this case I just loaded $5, and honestly it'll last for at least 50 to 100 messages depending on which LLM you're choosing at which time. So not too much to be able to experiment with it.
So basically OpenRouter, instead of you having to write all the APIs for, you know, reading through all the documentations and writing API schemas for all of the different LLMs, it already did it for you and you just choose which one you want to do. It's kind of like make.com, but except only specifically for large language models.
Yeah. So like if you, if you want to go down that route of make.com, it's literally that green router that you'd use in make.com. This is that as a product.
Got it.
Yeah.
Got it. Cool.
So in terms of how to implement it, again, I'm going to make this code agnostic. There's only really like a couple ways you get started, but I'm going to act like I don't know anything about this framework. And I'll put this myself in the shoes of someone who has never used this before. So what I'm going to say is, before we even go to Bolt.New, like I said, it's really helpful to give a cheat sheet. So I'll say I want to implement OpenRouterAPI in a web application.
Mm-hmm.
So that I can dynamically call different models. I want to be able to call OpenAI GPT-4o, OpenAI GPT-4o Mini, Llama 3.1, let's say Claude 3.5 Sonnet, and a Mistral model, and Groq. How would I implement this via code? So I'm going to click on Pro just so I can have that extra level of intelligence while searching the internet. Yeah. And I'll click this. And the idea is if it's doing its job properly, it should be smart enough to go to the OpenRouter documentation that I just showed you here. And then not only just verbatim extract and spit it back, but actually tell us exactly how to implement it.
Okay.
I think it did that in this case. It's even got the OpenRouter API key, so it's looking up in the right place.
Exactly. Here it's telling us this is what you need for setup. Again, we need that API key here. When you provide this to Bolt.New, you want to ideally give your API key and it'll set it up for you. Then it'll tell you how to call the different available models. It was smart enough to go to their models page and then, uh, basically look up the names. So if you can see here, if we go back and we pull this next to this, so if we go to Claude 3 Sonnet and we paste here, you'll see it's right here, Claude 3 Sonnet. So it should have all of those different names properly identified. So we put Mistral here. And the reason why I'm checking this right now is if we don't figure this out now, Then we'll get an error later. But that one, for example, didn't exist, so it didn't find the right name. So I'm going to keep that there and we'll deal with that later in Bolt.
Okay.
Okay. So I'm going to start this conversation in Bolt here. And the last thing I'll do is I'm going to generate a key, a throwaway key here. So I'm going to go to keys and then I'm going to delete this as soon as we finish filming. I'm going to say test. I'm going to click create, and then I'm just going to keep this handy. And now we'll go into bolt.new and we'll, we'll start this journey. So great, I'm excited. So you can say, I want to build an application that lets me chat with multiple large language models. I want to be able to select from a few different models that when I click on will let me send that message to that specific LLM while allowing me to have a continuous Conversation throughout. I want to use the OpenRouter API. Here's some documentation for you to reference. So in this case is where I give it that cheat sheet. So I'm gonna call it—
Basic setup.
Basic setup. So you can see here the workflow that I'm doing to try to make my life easier.
Yeah, so why wouldn't you just copy that code directly from OpenRouter versus going through the extra step of putting it through Perplexity?
So in this case, I, I could do that, but I want to put myself in the shoes of someone who doesn't even know that there's docs to reference to begin with. So how would you go about this at all?
Got it.
And also, when you put it in Perplexity, when I'm telling it my intention that I want to choose multiple models, technically if you go to the documentation in OpenRouter. It doesn't tell you how to do that out of the box. This is how to call one API for one route, but it's not showing you how to do models, multiple models. So Perplexity will synthesize from all the documentation how you would call multiple models.
Got it. Okay. Okay. Okay.
In this case, I'm going to take this now. I'm going to say this is how you select models. Okay. And then if I go back down here, I think to create a class to handle API calls. Now, I don't know if this is necessarily, uh, necessary, but I'll just take this. Okay, I'll say full implementation, whatever. And then lastly, I'll say here's my API key, just so I can embed it from the beginning and I don't have to worry about it not working later. I mean, not knowing why it's not working, it's because there's no API key. So—
Yeah, and that was the API key from Uh, OpenRouter.
Okay, that is correct. So 99% that whatever this is going to generate, it's not going to be correct the first time, so we're going to have to iterate.
Okay, and then this structure of the code was what you just showed in the slides, right?
Exactly, yeah. So in the slides, for each thing you might need different levels of a cheat sheet. So if you're calling like OpenAI, showing one example from their documentation could be enough for it to know because it might be familiar with OpenAI, but With something more obscure like OpenRouter, that might be a bit trickier.
Understood.
So we'll hit this and then it's going to pull up a codebase here to actually try to build this from scratch. And then you can see here it's writing, it's copy pasting that code I gave it to begin with. So at least I know that it's taking my input into account. And one thing while this is loading is there's a little button here. on the bottom left. This will help you make a better prompt if you don't know how to prompt it correctly when you're saying what's wrong. So if you say the interface is not loading or this is broken, you can use this button they've created once you start typing to create a better version of that prompt to increase the likelihood that it understands what the issue is.
That's really cool that they even have an enhanced prompt link. That's one thing that this is different from something like Replit.
Exactly.
Yeah.
So sometimes when you first start using Bolt, you won't get anything, like a blank screen. Don't freak out. Um, yeah, at least right now we're starting from somewhere. So first thing I wanna do is, does it work if I click on GPT-4 Turbo?
Yeah.
Click high. Mostly I, I'm guessing this won't work, but we'll see. Oh, interesting. Okay. So, wow.
Smart. And that was like only what, 5 minutes? Oh my God.
Now, one thing that immediately jumps out to me that there's gonna be an error is switching LLMs. So there's no such thing as GPT-4 Turbo Mini. There's only GPT-4 Mini. So let me try that. So, hello. Okay, so now my next question will be, what is it referencing as GPT-4 Turbo Mini? So If I click on code here and I go down again, I'm going to act like all this is gibberish. I want to see what it's calling GPT-4o Mini.
So it's calling 4o Mini, it just called it Turbo Mini instead of Mini, it looks like.
Exactly. So it seems like it's actually doing the right thing, but it's labeling it the wrong way. Yeah, so that's fine. I'm cool with that because that's just aesthetic. Now let's try something that before, if you remember, it didn't look like it had the right model from the documentation. Okay.
So, hi.
Oh, that's—
oh, you know, it just clicked to me. Like, with OpenRouter, you can have like one API key and it works for all the models.
Yeah, exactly. That's why it's beautiful.
Oh, geez. I know you said that, but it just, it, it just clicked.
You gotta see it sometimes. So when I clicked on Mistral Large, if you remember from the documentation, if you go to models.
Yeah.
There is no large, uh, Mistral large slash large. Like, at least when it goes to here, it didn't call in the right way. If you go back to Perplexity and we go to here, Mistral slash Mistral large, and it's—
oh no, we have large.
No. So look, it says Mistral slash Mistral large. It's actually Mistral AI slash Mistral large.
Got it.
So that's why it didn't work. And that's why, like, I knew that error was going to pop up because it didn't actually find it the right way. So yeah, before I, before I give it feedback, I'm going to just start typing the feedback. And what's cool about Bolt is that it knows it's made an error, so you don't have to tell it. So it can literally see here that it had an error streaming that response. So I'm going to say, right, these models are not configured correctly. Mistral large should be this. Okay.
And then, okay.
So now before I keep going, I just wanna test whether Groq is working. So I'll just say hi. Okay. I got the error again. So that tells me that Groq is also not being properly mentioned or referenced. So I'm gonna go to Groq here. Okay. I'm gonna go to here. I'm gonna take that. I'm gonna say, Grok 1 should be this. And then let's see, what else can we test here? Um, hi. I see.
Okay.
Yeah, llama also broken. So let's do llama. It also gave me the wrong llama. So I want the llama, let's say this one, the 3 point, uh, 3.2 billion.
Okay.
Okay, Llama should be this. So now at least we're not isolating everything that's going wrong from the beginning. And the more— again, the more stickler you are with at the beginning and over-communicating everything that's wrong, the higher the likelihood that you won't go adrift. Because if you do things piecemeal— oh, this is broken, oh, this is broken— it might hallucinate sometimes and say, okay, I fixed that thing, but this thing's now broken. It's kind of like when you go to a shady mechanic They fix your oil but they break something else. You don't want that experience.
Okay, so that's why you want to put like all of the things that's wrong in like one go in here.
Yes, centralizing all the information, especially if they're all thematically the same. So if I think that the user interface looks ugly, I should separate that in a different prompt from the brain. The most important thing is that the brain works. The pretty stuff you can change on the fly.
Absolutely.
Yeah, so last thing I'll say is GPT-4 Turbo Mini should be called GPT-4o Mini. Named call. Yeah, sorry, name call. Named GPT-4o Mini, not Turbo. So now I'll send this feedback, and now it's going to go through update. And then this is where I'm going to look right now while it's generating. Okay, Mistral AI Large, XAI Grok. So it looks like it's gonna probably do a good job. So now let's do the same test. Okay, let's do hi. Perfect. Let's do hello. Oh, amazing. Now good. Let's do Grok. This is a brand new LLM, by the way, that just came out, uh, from x.com last week.
Yeah, um, they're all coming up with their own LLMs now. Yeah, tech giants.
So if I say this, amazing. So that's working. And now whenever you go to coding, you never want to assume that what worked before is still going to work. So we have to go back and test. GPT-4 Turbo, hi. Okay.
And then for how many?
Test. Amazing. Wow, that's cute. It even said test received.
Very nice.
The last thing is I'll say, got it.
Test. Okay, it looks like I'm still here, just responding to your test message. So it looks like all of them are working now.
Yeah, not just that, you, you pulled on a very important thing. It says I'm still here, even so it's maintaining the context of the conversation even though we're sending like mutually exclusive messages, which is actually super important.
Yeah, with different language models, so it's still referencing and being able to read Text from before.
Exactly. So now this is working, and you always want to note when it's working. Like, I like to make a note for myself that, you know, it says— I actually copy paste this whole thing and I put it into my notes to let me know when it was working perfectly. Because if you start to now remix, which we're about to do, and do some more cute things with this, things can break very quickly. And it might break to the point where it's not usable and you're like, I wish I could just go back. This allows you to go back and roll back to a previous version. You can see here, roll back to a checkpoint. So when times are good, keep track of it because you might need to go back to it. Okay, so now the next thing that we need to do to make this closer to the Poe experience is allow me to resend a message I've already sent to a different large language model after I've sent it.
Just for people who haven't done Poe before, let's just show what that looks like before we—
Yeah, completely. So if you remember here, I said, tell me a joke. And then it says here, here's one for you. And then I say, and then I clicked on Claude 3.5 Sonnet. And what it does is it sends that same initial request to a different LLM to show me what that model would actually output.
Absolutely. Okay, got it.
And then if I click Gemini Pro, then it'll send this initial prompt to a different large language model to simulate that output. So now this will be a battle of me being able to be articulate enough to understand, to communicate that experience.
Okay.
And so, yeah, both—
can you also take a screenshot and let it know like what you're trying to do?
You can.
You can.
Okay. Yeah. So you know what, let's, let's do that. So let me start a new chat and let me just say, tell me a joke, and I'll show the preview of the different models. Okay. So, right.
Um, so let's take a screenshot of this.
Yeah.
All right.
So I'll paste it here. I'll say, great job. Positive encouragement. I want to now add a feature, and this is actually a small subtlety, but it's important.
Mm-hmm.
It's nice to be explicit in saying that you wanna add something versus change so it doesn't change what it did before. It only adds to augment this new feature. Sometimes in the past, like in the past 2 weeks, I've used this all the time. I'll say, oh, can we make it do this? And it will change the entire direction of the app and everything will break except this brand new shining thing will work.
Right, right. Okay.
So great job. And I want to add a feature that allows me to resend the last message I provided to a different LLM to simulate how that same message would yield a different result with that new LLM. Reference the screenshot I attached to see what I mean. When I send a message and receive a response, It should allow me to resend that original message, but to the different models we have access to right now. That's my best shot at explaining it, and we'll see what happens.
Okay, let's see if it gets it, and if not, like, we can always roll back and then do it again.
Exactly.
Yeah, so that's— this makes it— makes coding quite easy. I mean, this is great, Mark. This is really awesome.
So far so good. So here's our first Bolt error. Sometimes Bolt will time out and it'll say unknown response. It'll show your message from the beginning. You just have to resend this and then it should be able to execute it the second time. So right now it says, I'll add a try with feature that allows resending that last user message to different models. I'll add buttons that appear after each assistant to let you quickly compare responses across models.
This is super cool.
And one thing here that later on I'm going to tackle is, you see GPT-4.0? I want it to be GPT-4.0 because I have that severe OCD, but that's a later problem. That's not a now problem.
Yeah, so it's like even when it's generating, as you're looking at the code, you can start correcting it. But as you're looking at the code, can't— like, you can download all this code and then deploy it on DigitalOcean, deploy on Replit if you wanted to. You don't have to deploy on Bolt.new, right?
Correct. You can also click on open in StackBlitz, and this will open a separate tab that gives you access to the raw source code that you can do whatever you want with it.
Got it. Wow. And then, and bold.new right now is free, right?
It's free for a certain amount of usage. So once you've— I don't remember the number of messages. Once you go past a certain limit, you have to pay $20 a month for X million tokens.
Yeah. Yeah. Which is still like, Super duper cool.
Yeah. All right, so let's give this a go. Um, let's use GPT-4o Mini. Let's say hello. Oh, okay, hold on. Looks good. Too good to be true. I have— I've gone through too much pain to assume this works. Um, so let me do this. Wow. Okay, okay. So let's do Grok. Okay, let's do Mistro.
Oh my God.
Amazing. I'm losing track of what I've said too before. I think, did I do Llama? I did Llama. Okay, so it keeps saying hello.
And it has a context too. Like, Llama's like, we're having a very repetitive conversation. There's something to talk about.
Amazing. Amazing. We are literally— this is a multimillion-dollar product that we're very quickly emulating. So I actually don't have any negative feedback. This is all working.
So I mean, the only feedback I would have is to have more like all of the language models kind of in a dropdown, and instead of just like 6 of them, having like the entire list of them.
This is pretty.
Oh, I don't mean like when you do try again, but I mean like, like at the top you see like the second, like, yeah, like you see where it says at the top where it says GPT-4o Turbo. Yeah, yeah, exactly where your mouse is right now. Yeah, like having that as a dropdown and having more than 6 options, that would be my only feedback here.
Okay, okay. So, and okay, let's, let's be nitpicky. Um, one, I'm gonna fix this GPT-4o business and this whole GPT-4 Turbo thing because this Turbo is not Turbo. If you go to open the constants, this is GPT-4o, not Turbo.
Yeah.
Also, it'd be nice if it showed a typing icon while we're waiting for the API response, which we don't have.
Yeah. Yeah.
Job. Um, latest feedback. Yeah, go ahead.
And I was just gonna say, and these LLMs, like, you might think that they don't have feelings, but I think when you give it positive reinforcement, it actually does a better job.
Yeah, there were studies that for a while this was patched. At least there was a phase last year where if you offered ChatGPT a $50 tip for doing a good job, it did— it actually tried harder. Now that's been patched ever since then, but when in doubt, be nice. Be nice. All right, cool. So one thing that Bolt tends to like a lot that I noticed is it loves lists. So I'm just going to go the same way I did before. Um, one, GPT-4 Turbo should be named GPT-4 O with an O, not a zero.
Mm-hmm.
GPT-4O Mini should be 4O, not 40.
Mm-hmm.
Let's add a typing animation whenever the user is waiting for a response. For— this is your feedback at the very top. Could we make the model selection into a dropdown instead of laying it out across the top?
And then I would like to see like a dozen language models that they can choose from instead of 6.
Yeah. Well, what we'd have to do is we just need to go back to OpenRouter, decide which one those are, and then add them in.
Yep. Okay, I'm good with this for now.
Like, yeah, I mean, this gets the point across. So let's do— I think that's pretty much everything. Let's do that.
Yep, that's good. Like, it'd be good to see like 1-0 in there, etc. Um, but that's something that's an easy add, just one more prompt.
Yeah, you know what, we'll add 1-0 just for fun.
Okay, after this one. Yeah, but just to compare and contrast, uh, Mark, from the last video we did on Replit Agent, what are some of the pros and cons of Replit Agent versus Bolt.new if you were to summarize?
Cool. Bolt.new is way better trained on frameworks that scale. So like I said before at the beginning of the video, Replit Agent deploys right now on something called Flask, which is one, it's hard to make it look beautiful, it's hard to make it hyper-functional, it's hard to collect user responses as well. And then Bolt is working with what a lot of developers actually use, which is like a JavaScript, TypeScript, React background and frontend, which is why we can get to pretty, pretty things seemingly way easier than before. That's number one. In terms of pros for Replit, I'd say deployment is easier there because they have a better infrastructure for deployment. You can make it really scalable from the jump and have multiple users from the initial get-go as well. So I'd say easy— ease to deployment, Replit wins. Bolt will win in terms of the ability to build higher production apps, at least right now. Literally overnight this could change, but as of this moment, if I had to choose one of them to build you a POC for my team, it would be this one.
Yeah, yeah. And it's just amazing how quickly this field is like innovating. Like it was only like a month ago that we were like, oh my God, this is the latest Breakthrough in tech, and then a month later we have another breakthrough.
Exactly. Every 4 days there's a breakthrough.
Yeah, but this is honestly very exciting. Um, let's see if this works. Okay, so we already got the dropdown.
So we got the mini, we got 4.0, so that's good. Um, let's just test that it still works. Um, how are you? All right, so we also got that typing thing, which is nice. Let's do Claude 3.5 Sonnet. Amazing. All right.
Let's try Llama.
Let's try Llama. Wow.
I'm functioning properly. Wow.
It's as if it knows what we're trying to do. It's omnipotent. Now, one thing here, disconnect. So I've switched it, right? If I switch this to something different and I say now, hi. It should talk to Groq if this is working properly.
Right. Oh, it does.
Amazing. Amazing. I usually, I expected a bigger struggle than this, but yeah, amazing. So let's do it just to close this up. And what we're gonna do is I'm just gonna close this up to show you, um, how we can wrap this up and then how you could try to deploy it to actually try to use it outside your browser. Um, and then the last thing is we'll show 2 different apps that I already put together before this. That took some time just to give you a sense of what else is out there, what other use cases could you build, etc. Okay, so let's go to here and let's see what OpenRouter calls 01, because OpenRouter has a different name than the actual name of the actual APIs. So let's do— where's the preview?
I see it. It's that, that one you're, you're on right now.
All right, any other ones on your wish list while I'm asking?
Um, okay, so we have Llama, we have Perplexity. Can they add Perplexity as well?
Let's give that a go.
And I think there was 2 for Claude. So there was Claude Sonnet and Haiku.
So they have 3.5 Sonnet and 3.5 Haiku now.
Okay. And then Opus was the one before.
Yeah. And Opus is a billion dollars, so we won't use that one. So let's do—
So let's try— let's add in Haiku. Let's add in Perplexity. And yeah, Perplexity.
Uh, Perplexity. There we go. So we'll do this one.
Perfect.
Uh, well, this one says Sonar Huge. This is gonna cost me a million dollars. Let me just look for the little one. There we go. Sonar Small.
Okay, perfect. And, uh, what was the one by Google? Gemini. Gemini. Can we add in Gemini as well?
Okay, sounds good. Let's do Gemini. Do you care which version, Flash or non-Flash?
Uh, the cheaper one.
The cheaper one. Okay, got you. All right, last thing I'm gonna say is everything else is perfect. Don't change anything else. And I'm just emphasizing this again because I've been burnt in the past using Bolt where you just make one change and things are changing the entire roadmap and everything just breaks and then You slam your head against the wall. So let's avoid that. We'll send this.
Wow.
It's like we got a functioning chat. And just so everyone knows, I'm going to include this in my Whiteboards software so that they can actually chat with it. So Whiteboards is an all-in-one platform and you can get started for free. I'll put the links in the description that allows you to write, generate images, audio, video, all-in-one platform. So Mark, what you have open here is the editor, which is kind of like ChatGPT meets Google Doc where you can write things. And if you click on the 2-star icon that's right beside rewrite, yeah, you can make it longer, shorter, change the tone, etc. And then you can also generate images, Flux, Stable Diffusion. Like, it's like an all-in-one platform that makes it easy. Free to do things. If you click go back to dashboard, yeah, you can see all the things you can do. You can chat with a PDF, you can analyze your articles for SEO, speech-to-text, text-to-speech. So it's an all-in-one platform that does everything. So give it a try. The link will be in the descriptions, and we're also going to add in this feature that you just saw here onto whiteboards as well.
So there you go.
You're seeing it live. Yeah. Like this stuff, like you can actually start making these software and start making money with it. And I'm sure I'll have Mark back on again and we can even talk about the business side of things and how this actually did and what other improvements we made to it. You can follow along with our software journey here.
Amazing.
Subscribe below. Okay. Anyway, go on.
Amazing. So let's just make sure that Perplexity works. That's the one I'm most curious about. So if I, So if I ask it a question about today, it should be able to answer it because it's current. So if I say, what is the date today?
Okay.
Okay. Okay. So let's double-check this. What sports are playing right now? Is the NBA on? No. What are the latest sports scores?
You probably just need to change the label because I wouldn't know what Sonar Small is.
Yeah, yeah, I was about to say the same thing, so we'll change that. But it looks like, yep, this is all from yesterday, so that is good. So that's working. Flash, tell me a joke. Amazing. And then we added 01 previews. This will take like 7 business days to come back to us, but we'll say, um, um, what is the meaning Of life. Now, um, only because I've used preview and API before, preview takes a long time because it quote unquote thinks behind the scenes.
Yeah.
So one thing I'm curious about is how this will deal with its long wait time for that response. Will it break? Will it be able to adapt to it? So obviously these things are more advanced level to like get this intuition, but while you're adding things, there's certain test cases that jump out to you. While you're going through it. So let's do, what is the meaning of life? This should take double the time that we just took with Flash.
Yeah.
01 preview here.
The meaning of life.
All good. And it's a long response too, so this is awesome. So I'm going to just— we'll finish this part up by saying last 2 things. Um, I'll say again, they are aesthetic.
Okay.
Non-functional. Change 01 preview again because of my OCD to 01 preview. Change Sonar on the front end to display as Perplexity. Now, if you're wondering why I said those words on the front end, yeah, I just want to make sure that it doesn't go back and change the model's name to Perplexity because then it'll break. I'm just— I'm hyper-communicating and over-communicating to lower the likelihood of a hallucination, right? Amazing. So we'll just do this last thing and then we'll try to deploy it, and then I will show you all a couple different apps that we put together.
Perfect.
Okay, model. I'm just gonna look here. There we go. Perplexity. And the biggest thing, I just want to make sure— what is today's Perfect. Amazing. So that's all working. And 01 preview, since we changed the name, I want to make sure that works too. I'm just going to say hi. It'll take 6 business days maybe for hi.
And by the way, I love OpenRouter. You just pay for one key and then—
One and done. Wow. Perfect. Yeah. Very underrated software. So highly recommend you look into it. Also, it alleviates you from the headache when a new thing comes out from a new vendor that you don't pay X amount per month and you have like different wallets for different API keys, it helps just centralize everything. Cool. So this works awesome. So let's, um, click deploy. Sometimes deploy is buggy. It deploys on something called Netlify, and if it works, you'll get a URL that you can start using immediately. If it does not work, then you'll just usually have to re-click it.
So something like Replit, like they started off as a deployment company for software developers. So that's like what they're known for. So I guess like one worry that people may have is, can Bolt.new deploy and scale the same way that something like Replit can? Because if you build something on Replit, like, you know, it's going to be safe to scale because that's what they're known for.
Yeah. So deploy, yes. Scale, um, depends what your application is, how many users, etc. Like, personally, I wouldn't deploy on Netlify.
Yeah.
For an entire audience to build, like you said before, something like DigitalOcean, something like Replit. That's where I feel more, you know, at ease, or AWS or one of the cloud providers that this will actually scale. So this is the deployment link, and then we'll just test and just say, here, tell me a joke, whatever, a story, a joke, whatever. And—
Wow. And it does it.
It does it. And notice one thing, I did not ask it to do this. It's generating the text as it's getting the response back from the API. So it looks just like a production application. Now you could literally take this, share it with whoever, and use it like out of the box.
Uh, and can bolt.new access the web in real time? Like, can you just be like, read this link and, and then do blah, blah, blah, or it can't access the—
Most of the time I tried it, it did not work.
Okay. So you had to just copy and paste whatever.
Exactly.
That on that page. Okay, got it.
Exactly. And just to kind of finish up, I'm just going to show 2 other apps put together. One of them was my attempt to build a mini agent swarm.
And then now to just get your imagination, the creativity juices running, uh, Mark will also show you 2 other apps that he made on bolt.new. And we strongly encourage you guys to just try it out because it's free. You get a certain number of prompts that you can do for free to create these apps. And you can use these apps for so many different purposes. And it's never been easier than now to create software applications like use it for lead gen. Like that's probably the lowest hanging fruit. Look at what your business is. Just put in a front page where you collect the name and email of your audience. And, and then as soon as they sign up, send them to an application like this and you collect more leads. Or you can use it as an additional revenue source depending on what niches. Just think of ideas that will work in that niche, or you just use it as an internal tool to help your team be more productive. Like literally the possibilities are completely endless. And so here's another example of an application that Mark made in less than an hour, 2 hours.
Yeah, this one was 2 hours because I was trying to make it do too much. So yeah, I wanted to build like a multi-agent experience where Like an agent swarm? Yeah, like a mini agent swarm. This is definitely not to that production level, but where I say like, you know, I want to go to Thailand or I want to go to Malaysia and have multiple agents that specialize in different parts of trip planning help me with that. So if I start off and say I want—
So this is like multiple agents working behind the scenes, and what they all do is they help you plan your perfect vacation or trip.
Exactly. So I want to go to whatever, Kuala Lumpur, and then I send that. So you have a lead agent that's kind of like the orchestrator that's saying, you know, that's great, it's a vibrant city. Do you have specific interests there? That kind of thing.
Yeah.
If I switch gears and say I need to book flights there, right? So now all of a sudden it invokes the flight agent that specializes in helping you plan your trip.
Wow.
And if I say, you know what, never mind, I just want to find restaurants to eat there because I'm hungry. Now the cuisine agent is invoked because I mentioned something related to eating and cuisine. So you're able to context switch on the fly. And by no means is this a very advanced swarm, but at least I tried to recreate what it might look like if I wanted to go down that route.
Wow, and just kind of like created your own chatbot software. Like, that's incredible, you know. And then I can, I can see that they all have like their own little icons.
Icons, yeah. I, I basically went back and forth with it for like 20 minutes to get those to work properly. But yeah, so that's numero uno. This is the second one here. So very basic. Basically, this is before I tried even the second multi-agent. So if I just Click refresh here. So I just told it, hey, I want you to have, let me just zoom out, like a floating set of different bubbles that when I hover over, it does a cute animation and it lets me ask a question to that agent that has a prompt behind the scenes that's trained on that specific part of my business. So if I go to HR and I say, how do I have a tough conversation with my direct report?
Yeah.
And I say send query, this will actually send it to the prompt that has an underlying logic that says you're an expert at HR, and then it will send it back from the OpenAI API and come back with a response.
Yeah, what I love about this one is that you even got the animations working. Like when you— oh wow, so first of all, the response does work, and like when you hover over like HR versus finance, like it does a spinning thingy, and that's just so I love that you said that.
I have to interrupt you because the way I described it to it 3 times, didn't get it. And I said, I want to do a spinny thingy when I hover over the icon.
You said that?
Yeah, I did say that. So yeah.
Oh my God. So spinny thingy is a technical term now.
Yeah, exactly.
Yeah.
It's a whole framework around spinny thing.
Yeah. Yeah. So you can kind of like this, there's so many applications for this. Like let's say if you want like just a virtual CFO, for example, and that was one thing that you and I probably talked about like a year ago that you told me that's what you did on Fiverr, where you trained this agent on, I think, relevance, you said, on like the top 20 books on finance or whatever. And then you built, you built like a virtual CFO specifically for that one company because it's trained specifically on the skill set that they needed. So this can definitely be repurposed into some like internal tools, maybe even connected to OpenAI Assistant where it knows Only the information about your company. So even for the non-technical team members that you have, they can now take advantage of AI because this is something front-facing for them and they don't need to learn the nuances of prompting and creating agents and assistants, etc.
Yeah, completely, completely. So the biggest thing kind of I'll leave the audience with is this tool is amazing for proofs of concepts. So even if you work in a company or you work for yourself and you have your own tech team, Instead of trying to explain in words what you're trying to build or what you could build as a team, you can spin up something that even if it doesn't work, let's take out the work. You can aesthetically show what your vision looks like in under 5, 10 minutes. Now, getting it to actually functionally work is a different story, but you can use this as your new version of a canvas to go from thought to something tangible in your hands to actually show people what your end goal is.
Okay, great. So as we're wrapping up, I hope you kind of can see the variety of what you can do with this. Like in under an hour here, we recreated poll.com, which is a multimillion-dollar application, as well as internal tools you can use and a travel agent. So, so just let your creativity run wild and give this a try. And I can't wait to hear in the comments what kind of application you create. Also let us know in the comments what kind of application you want me and Mark to create as well. And be sure to get your free trial to Whiteboards. I just want to say thank you so much, Mark, for coming back onto this channel. Always great to have you. You always have so much great insights to share with everyone. So really appreciate you and really appreciate your time for being here today.
No, thank you for having me. And hopefully I'll be back when the next big breakthrough comes in the next 3 days that changes everything for the 100th time. So yeah, thanks for having me on and looking forward to next time.
Sounds good.
More from Helena

How to Use Claude Code to Get UNLIMITED Leads in 6 Mins | Best Lead Scraping Tool

These AI Videos Has 21.5M Views — Here's the Exact System (Fable 5 + Higgsfield)

NotebookLM 2.0 Update: Analyze Your Entire Business in Minutes! (Full Tutorial)







