LongCut logo

Vibe Coding with Gemini 3 + Cursor (full build / beginner friendly)

By Olly Rosewell

Summary

## Key takeaways - **Gemini 3 one-shot frontend build**: Built a full CRM frontend from a detailed PRD in Gemini AI Studio, generating a minimalist glassy UI with dashboard, pipeline, lists, and billing tabs. [03:52], [07:53] - **Iterate UI from AI slop to Atio style**: Didn't like the initial AI slop dashboard with rounded edges and neon colors, so prompted for more white space, square edges, white/gray/black palette inspired by Atio and Dribbble images. [08:04], [10:09] - **Supabase backend in minutes**: Set up Supabase project, ran SQL from PRD to create tables for leads, pipelines, tasks, authentication, then integrated for user-specific data and login. [12:55], [15:56] - **Cursor implements features from Perplexity PRD**: Prompted Perplexity for tasks, CSV import/export PRD, fed to Cursor which added to-do lists with priorities, lead deletion, list saving, and CSV mapping. [20:21], [23:08] - **CSV import maps fields to lists**: Exported test CSV with names, emails, companies; imported into app, mapped columns like full name to email, added to target list, successfully imported 15 leads earlier in demo. [27:10], [28:31] - **Landing page via Claude PRD**: Created gorgeous design PRD with Dribbble/Linear inspirations for glassy animations, fed to Claude 4.5 Opus which generated 2000 lines of animated landing with testimonials and FAQ. [29:28], [32:01]

Topics Covered

  • PRD-First Builds Production Apps
  • Iterate Designs by Rejecting AI Slop
  • Supabase Enables Row-Level Security
  • CSV Mapping Automates Lead Import
  • Gemini/Claude Generate Landing Pages

Full Transcript

What's going on, guys? This is Oliver, formerly from Response AI and a few other tools that I have since exited. In

this video, I'm going to be creating a full CRM from scratch using Gemini, Cursor, and Superbase for the back end and showing you exactly how to do it.

So, if I just refresh the page, you've got this beautiful um landing page for the software called Luminina. Um, you've

obviously got like pretty polished kind of nice looking UI here for the um, like you know design for the landing page.

You've got little uh, fields here for the steps you take uh, and then pricing etc. frequently asked questions, that kind of thing. We're going to head up and click start free workspace and we're

going to sign in. You can also create an account if you want. Um, I'm going to sign in with my credentials and sign in.

So, as you can see here, we've got a beautiful little dashboard here um with the pipeline value, the active deals, the win rate of those deals, and then pipeline value in um a chart. You've got

tasks, which we're going to create in a second. Um you've got a pipeline with

second. Um you've got a pipeline with stages of new, contacted, qualified, negotiation, closed, etc. with the names of the leads, the tags, the deals, the deal sizes, companies, etc. Um you've

got the list of leads here with all the tags. You can delete or restore leads

tags. You can delete or restore leads and add them to specific lists. Um

billing and settings, etc. Pretty boring stuff. Um but from here, let's start

stuff. Um but from here, let's start with the tasks. So you can go into a new task and say follow up with um let's say

Steve. Um he needs to um sign the

Steve. Um he needs to um sign the contract. We're going to say the

contract. We're going to say the priority is high. The status is to do.

And the due date for this, let's put it as tomorrow. Um, [snorts] and let's say

as tomorrow. Um, [snorts] and let's say related leads. And you can actually,

related leads. And you can actually, um, I can't see the screen, sorry. Let's

say it's Bill Townsend. So, let's change it to, you know, follow up with Bill.

So, from here, we're going to create the task. And now we've got a task in here

task. And now we've got a task in here with a high um priority and it is um added to Bill Townsen. If we go into the pipeline, you'll see that Bill also has

a task here. You can go into the lists and add new deals or you can add new leads. Um so if we go into the pipeline

leads. Um so if we go into the pipeline here we are going to or going to list sorry um what should we do here pipeline new deal new task or let's go to

dashboard and click add lead. We go into add new lead. Um Steve Evans company would be Steve Evans Consulting. Email

is let's just say Stevemail.com.

The value let's say that the deal is say $2,000 that he's currently in negotiation and let's say the tags are um warm intro referral and lead. And we're going to

save the lead. It increases the pipeline value and it adds um Steve to our pipeline as well. So where's Steve here?

Steve is in negotiation. You can also import leads um from a CSV. So, if we go into this test CSV with all the names and stuff, we're going to download it as

a CSV. We are now going to head back

a CSV. We are now going to head back over into Lumen and import. We're going

to choose the file. We are going to click test CSV.

Pop it in. And now you just map the the leads names and stuff. So, full name is full name, email, email, company, company, value is value. And then we are going to add it to a target list called

create new list um uh example and we are going to add it to that list and import.

Now it's going to say that we've successfully imported 15 leads. Um and

as you can see all of these new leads have been added as well. And inside the lists you've got the example list. So

this is just a great sort of beginner um and our pipeline is huge now which is cool. You can also export all the data

cool. You can also export all the data etc. So, I'm going to show you guys how to build this in a second and let's get started. Okay, guys. So, the first thing

started. Okay, guys. So, the first thing we're going to do is build a PRD um so a product um research document

um or product requirements document for the actual um app itself. So, what we're going to do first is create the PRD for

the CRM. So, let's say create me a

the CRM. So, let's say create me a detailed extremely beautiful PRD

for a simple CRM app. The app should be minimalist glassy

interstyle thin and small font.

Beautiful tabs and pipeline management.

pretty uh drag and drop canban cards in the

pipeline tab.

Should allow users to upload a list of leads.

should allow users to save new leads and create leads as as new.

Should allow users to delete etc. should have billing settings page dashboard

with pretty analytics.

Pretty pipeline.

a lists tab with lead lists and whatever else you feel is required of a simple CRM.

I want the app to be beautiful like atio linear etc.

Thin font thin lines lots of white space lots of beauty.

I want to allow users later on to set up backend with superbase.

create this PRD and make it at least 3,000 words with emphasis on design

functionality animations and beautiful styles of loading,

beautiful icons, etc. So guys, um the P has loaded uh based off of that um prompt, [snorts] right? And I'm going to put that prompt in the um description.

So don't worry. The CRM app is designed for small teams and solo founders who want to build a simple who want a simple, elegant, highly functional um tool for managing leads, etc. So

analytics, activity feed, quick actions, camb board, columns, car details, animations, lead lists, etc. Right? Uh

it's done the design as well. It's

sorted out the back end for us or at least like the general overview of the back end. And I'm going to head over

back end. And I'm going to head over into Gemini AI Studio and just paste this in. So, um, let's actually just

this in. So, um, let's actually just click build on that. Okay, guys. So,

let's have a look at the first sort of, um, run through of the dashboard. So,

immediately what I'm noticing is that I don't really like the sort of AI slop style of this dashboard. So, it's just going to take one or two little um you

know changes to the dashboard itself to make it look beautiful. So, let's go.

We've got the dashboard itself which has conversion rates, revenue, active leads, etc. and then recent activity which is good. You've got a pipeline with a

good. You've got a pipeline with a working pipeline stage canban board. So,

this is pretty cool. You've got lists.

Um so, it's a beautiful list sort of like um deck here. Billing as well, which looks pretty cool. and then

settings with no other working tab. So

let's actually go over to the dashboard and decide what we don't like about this design. So I am going to say leave full

design. So I am going to say leave full screen.

Thanks. But I don't like the AI slop style of the dashboard.

I think we could use more white space.

majority white, gray, black, etc. Atio style, linear style, less radius of edges. So, you see how like

it's kind of like sloppy when there's like rounded edges. I much prefer um square edges.

Uh square edges instead.

Um, less blue, more white, black, gray. Adding images

for inspiration here.

So, I'm going to head over to dribble.

Going to look up UIs. I'm just going to decide on some UIs that I like. So, I

quite like this one here. So, I'm going to copy this image.

Going to post that one in. I'm now going to look up um Atio.

So, let's let's get some Atio designs in here. So, that looks pretty nice. Uh

here. So, that looks pretty nice. Uh

copy image um this one. And I'm just going to send the prompt. Okay guys, so um it has completed um the rehash of the design and as you can see here, it

actually ran into its own um scope error which it then analyzed and corrected itself. So, as you can see, all of the

itself. So, as you can see, all of the updated files are here. If I go into full screen now, you can see that it is a lot prettier, right? In my opinion, I don't like the sort of blue AI slop and

like the neon colors of the last one.

Pipeline looks gorgeous as well. It's

like very minimalist. Um, lists, etc. Billing settings, that's absolutely fine. Right. So, what we're going to do

fine. Right. So, what we're going to do now is I'm actually just going to set at the back end. So, what I'm going to do is save this to GitHub.

So repository name can be um CRM YouTube and um test for YouTube and we're just going to set that up as private and

create the GitHub repo. It's going to ask you to stage and commit all the changes. So we're going to do that as

changes. So we're going to do that as well. I'm actually going to take the uh

well. I'm actually going to take the uh URL of the GitHub repository, click clone repo, and then paste this in.

I'm going to select as repository destination is just, you know, my files.

Going to um open this up and here it is. So, as you can see now, I'm just going to run it on local host or just start a new terminal.

I'm going to try and just, you know, run mpm rundev, right? It's unlikely that it's going to work. Um, so I'm gonna ask

uh cursor instead. So, um, or let's say mpm install.

I don't know if this is [clears throat] going to do anything to be honest, but it's just to double check that um, all of my bits and bobs have been downloaded. Now it has added 112

downloaded. Now it has added 112 packages which is great. I think because we're on Vite it won't work or there it

is. So we are on localhost 3000. So

is. So we are on localhost 3000. So

let's head head over to localhost and I'm going to say localhost 3000.

Okay. So the local host did load but it was actually initially blank. So what I said was um local host is blank for some reason and there's no logs. So it um

basically said that because we got it from Google AI Studio, the index html, which was just like the app itself kind of thing. It was um pointing to a CDN, a

of thing. It was um pointing to a CDN, a CDN from Google, right? So basically I said, okay, we'll fix this. And now we have the dashboard. Okay, so here's what

we're going to do now. We are going to set up Superbase. So let's head over to Superbase. going to head over to project

Superbase. going to head over to project name and we're going to say CRM for YouTube. Database password can be

YouTube. Database password can be whatever. Um, create new project.

whatever. Um, create new project.

Now that we've done this, um, [snorts and clears throat] I'm just going to head over and get the API key.

U project URL and gonna say is my

uh let's set up superbase now for user authentication

managing SQL Well, and back end managing the UI itself. So users can use the entire app with backend

functionality and allow privacy. So only

users can see their own data.

Now what we're going to do guys is we're going to say here is the PRD

that built the app so you can govern the SQL needed for all the functionality

eg pipeline saving leads dashboard etc. also create a basic

landing page and or screen for creating an account and logging in.

And this should be set up. So, Superbase

manages it.

Next thing I'm going to do is get the API key.

Um, I'm going to say is my API key And [snorts] what we're going to do now is head over to the PRD that we built and say the PRD

for my CRM app and we're going to post this in. Okay guys, so we are back.

this in. Okay guys, so we are back.

We're going to keep all So a lot happened here. Okay, there was a really

happened here. Okay, there was a really massive chunk of um code that was created, code that was deleted, etc. So it says to run the SQL code. So what

we're going to do, the SQL code guys is basically just like the skeleton of the back end. So if we head over to the um

back end. So if we head over to the um Superbase dashboard and go over to SQL editor, um I am going to run this SQL code.

There is a lot of SQL.

Now we're going to run the query.

Says no rows return. So go to table editor. As you can see here, we've got

editor. As you can see here, we've got all of these different um tables. What

we're going to do is go into project settings and then go down to authentication.

I'm going to say confirm email off and then save changes. So, this is so that people can log in and log out easily.

Right. Um I'm going to can I save this and just set it up?

Okay. So um it looks as though it has created the dashboard or the landing page at least right on local host and it is very funny because there's absolutely

no data here. It is just this page you can't scroll right. So obviously this is a really terrible landing page and we're going to get started on designing it better. But if we click get started you

better. But if we click get started you are taken to the authentication and we can set up a full name. Let's set

up the um email as ober 5569 whatever it may be password and then we're going to create the workspace.

So it has created the workspace now and as you can see you've got empty dashboard empty pipeline empty lists billing and settings etc. Right. So

let's test this out. So the dashboard um let's add a lead. So, I'm going to say um Steve Jones

company with let's say SJ Consulting.

It's all pretty similar to um my past test from a different um app. So, Steve

at um let's just change that. So, SJ, we're going to say the value is

um $10,000. The stage is that they are

um $10,000. The stage is that they are qualified and the tags, let's say for example, let's just use this from a different test. So, save lead. So, as

different test. So, save lead. So, as

you can see, our pipeline value is $10,000. We've got active deals one, win

$10,000. We've got active deals one, win rate is 0%. Let's head over to our pipeline. As you can see, Steve is in

pipeline. As you can see, Steve is in our qualified pipeline. Now, if we head on over to the dashboard, let's go over to the table editor. If we go into leads,

we've got a prior lead from um a previous test and we've got Steve Jones, right? So, um SJ Consulting 10,000

right? So, um SJ Consulting 10,000 qualified, etc. And it says that he's in the qualified stage.

Um list leads, there's none lists, there's none activities, none invoices, none leads, subscriptions, profiles. So,

as [snorts] you can see, I've got a profile here. Well, there's two profiles

profile here. Well, there's two profiles from one of the test. And I'm [snorts] going to head over now and test this out. So, what if I move um Steve to

out. So, what if I move um Steve to negotiation?

So, it looks like everything is fine now. So, let's just refresh the page to

now. So, let's just refresh the page to make sure that worked. And he's still in negotiation, which is great.

I'm going to head over to um the leads and see what pipeline stages in. So, it

still says he's inqualified, which is really interesting.

There we are. So, I just had to refresh the page. So, Steve is now in

the page. So, Steve is now in negotiation, which is great. So, it

looks as though what you can do now is you can create leads. The leads and the pipeline value are inside the active deals, right? On the overview. Let's add

deals, right? On the overview. Let's add

another lead.

And let's say Jamie Evans um Jamie Evans um co.

Let's say that um his email is jco.com.

Let's say that his value is let's say for example 2000 and the stage is

contacted and tags is cold lead um some interest or interest and let's save lead. So now what's great is you've

save lead. So now what's great is you've got the calculation of the pipeline value. If we refresh the page just to

value. If we refresh the page just to make sure that it's all good, you've got a perfect pipeline value. You've got the active deals too. And then inside the pipeline, Jamie is in contacted or

negotiation. Right inside the lists,

negotiation. Right inside the lists, we've got two leads and with the tags, it looks beautiful. I don't really like that black chunk there. And then

obviously, you've got settings and building that doesn't change. So, the

dashboard itself is looking pretty good, right? So, I'm going to head back over

right? So, I'm going to head back over to um the PRD. I'm going to say now that

this is done, make me a functionality PRD for the next few features.

a to-do list with tasks, priority of tasks, and the leads from

our system that the tasks include or concern.

Um, uh, I can't spell. Let's say the next thing is import leads. Export leads. So users can

import leads. Export leads. So users can upload a CSV of leads with simple data.

Let's say value, full name, email, company,

and upload the CSV as long as the headers work. Or maybe set up

headers work. Or maybe set up functionality to create

a matcher. So user uploads a CSV,

a matcher. So user uploads a CSV, chooses the columns, then the data is mapped from CSV and the leads are

imported to their lead list.

What else should we add, guys? So you've

got import leads and export leads.

You've got a to-do list, which is going to look beautiful. [snorts] Um, we can already add and change leads um and delete leads. Oh, we actually

can't delete leads. Um, we cannot delete leads yet from the pipelines

or lists. So, make sure we add that.

or lists. So, make sure we add that.

Um, and let's say also creating save lists doesn't work right now because we don't have functionality

to save specific um, selected leads to a list. Um, what

else can we do now? If we say no, we'll actually just save it like that. So, um,

now create this um, CRD PD a to-do list with tasks. import leads, export leads.

with tasks. import leads, export leads.

Um, here's a focus functionality. So,

okay. So, it's an absolutely giant PRD here. So, I'm just going to pop this in.

here. So, I'm just going to pop this in.

Head back over to Superbase. Keep all

the thanks.

Now, I'll implement these new features from my next PRD. We have a to-do list

um functionality for tasks and for uploading CSVs.

Make sure the back end works for this among other things. We're going to paste that in and we're going to click send.

And I will skip ahead guys until this is done. Okay. So, um it ran again for a

done. Okay. So, um it ran again for a long time. And by the way guys, this is

long time. And by the way guys, this is not costing much. It's costing pennies at a time. Um I'll explain at the end how much all of this is costed, but it's going to be less than a couple of dollars basically singledigit dollars.

So >> [snorts] >> um basically um everything has stayed the same except settings and billing. So

keep all.

I'm now going to pop in if I just restart the server mpm rundev.

Right. So we are back to the dashboard and I am going to just add a new lead to double check this. So let's say um

Louise Evans um l eval elco.com the value we can say is uh 2400 stages

qualified tags is cold from LinkedIn and just click save lead. It's now added the correct pipeline value which is great.

Um, she's now also Louise is now also inside the pipeline, which is great. Um,

now we're going to go to lists and she's here. And we've now also added a delete

here. And we've now also added a delete lead feature. So, you can click delete

lead feature. So, you can click delete lead. Um, and you can delete Louise. And

lead. Um, and you can delete Louise. And

if you go back to the dashboard, Louise is gone. She's gone from the lists and

is gone. She's gone from the lists and she's gone from the pipeline, which is awesome. Now, here comes the tasks test.

awesome. Now, here comes the tasks test.

So, we've got a sort by due date, a search task, and then all of these different tabs. So, I'm going to go to

different tabs. So, I'm going to go to new task. Um, that looks pretty clunky,

new task. Um, that looks pretty clunky, but it's okay. I'm going to say,

um, follow up with Steve about contract.

Um, Steve needs to sign.

Let's say priority is high, status is todo, and due date is does this work? Yeah, it

does. We're going to say the 30th. And

then the related leads. Let's say Steve.

And look, it actually um searches for the lead. And we're going to click

the lead. And we're going to click create task. So now, if we refresh the

create task. So now, if we refresh the page, we've got a follow up with Steve about contract. We go into the CRM,

about contract. We go into the CRM, go to um tasks, and as you can see, we've got a new task inside the

dashboard for the user. What I'm going to do now as well is test out the um list creation. So, oh, okay. So, we can

list creation. So, oh, okay. So, we can select these two, save to list, and we're going to save it to founders test.

And as you can see over here, now you've got the two leads in founders test.

We've actually also got the leads that we've deleted inside the trash, which is so so cool. Right, what we're going to do now is just double check that we can move leads to the pipelines. Going to

refresh. And that's working.

Tasks is working. Dashboard is working.

And now here's what we need to do. So

I'm going to try and click export.

Nothing happened still. So we're going to do the export as well.

>> [snorts] >> But if we go to tasks pipeline, I'm going to create a sheet [snorts] and we're going to test the

hardest feature that I've built so far, which is the lead import. So, I'm going to say um full name, email,

company, um um stage, and then let's just say that. So, uh

let's say Phil Roberts and let's add his brother Dave Roberts.

Let's say Philxyzco.com.

Let's add his brother's email. Um,

Davexyzco.com.

His company is xyzco.

His company is xyzco.

Let's say the stage is contacted and contacted.

Um, and let's just make sure that that is both that whatever.

I'm hoping that if we do this and say test going to export this as a CSV.

Now I'm going to head over to Lumen.

Going to import.

Going to drag the CSV in.

Let's just actually choose it.

We've got the mappings. Let's see if this works. So full name is full name.

this works. So full name is full name.

Email is email. Company is company.

Value is ignore for now. Duplicate

handling. Target list. No list. Oh, we

can say let's add it to founders test which is great. And then let's click import.

Okay. So as you can see guys, we've got the um list here which is great.

Obviously, it has no um pipeline value.

Um and it also doesn't have any tags, but that's okay. Um we can obviously change that inside the CSV. Um we can also see here actually that there's a

task involved from that lead, which involving that lead, which is great. So,

um I think to be honest, guys, I think I'm done here. I think in general, we go back to the dashboard. I'm now also going to give you guys the prompt to

create a beautiful landing page. So, if

[snorts] we head back over to the PRD, thanks. Now, can you give me a gorgeous

thanks. Now, can you give me a gorgeous design PRD for the UI and um whole

for the landing page. I will give you images

landing page. I will give you images from pretty landing pages, interstyle,

minimalist, glassy, lots of pretty animations, etc. And then you can

and then you can create the PRD for the landing page of the CRM.

So I'm going to head back over to Atio um or back over to um Dribble, sorry.

I'm going to click I'm going to type in landing page.

Let's find some landing pages that we like.

Um going to just choose this one.

Just copy this image in.

Um wrong tab at your landing page to linear um

factory.ai etc. Lots of movement and animations and pretty background

textures like grids, etc. We're going to copy this.

Thanks.

Finally, can you please design the landing page?

So, it is beautiful.

Here is the PRD. Now, I'm going to do something experimental, guys. I'm

actually going to choose Gemini 3 Pro for this because the design is so be actually I'm going to use Claude 4.5 Opus High because it's the new model and

it's as cheap right now as the um normal Claude model. So, I'm going to click

Claude model. So, I'm going to click send and it's going to design our landing page for us. Right, guys. Let's

see how this landing page looks. It

wrote something like 2,000 lines of code. So, I'm just going to head over to

code. So, I'm just going to head over to the Okay, guys. So, I am on the landing page, and it looks absolutely insane.

So, as you can see, um the uh agent actually wrote something like 1,500 lines of code. And as you can see, a CRM that you want to open. You've got

the um sort of like animated. This is

completely from scratch. The animated um dashboard kind of like animation here.

You've got first sign up to lead. Uh

you've got the designs here. You've got

the this is kind of like blank here, but every screen thoughtfully designed. And

then you've obviously got like the pipeline boards and stuff like that. Um

you've got a animated um like testimonials timeline which is awesome.

You've got the steps here. So, upload

CSV map fields pipeline ready simple transparent design and then start your workspace and you've also got an FAQ which is unreal. So, you click start free it sends you to the or which is

insane. So, that is crazy. Um, and I'm

insane. So, that is crazy. Um, and I'm going to end the video there. Um, and

obviously at the start of the video you might see some changes because I've just done some little like touch-ups here and there. Take care.

there. Take care.

Loading...

Loading video analysis...