You've unlocked Christmas Calendar Day 21 of 24!

Build & deploy a high-converting micro app lead magnet in under 60 minutes

A guide to vibe coding a micro app for founders and B2B companies. Steal our process and use our boilerplate.

Find a time in the calendar to get your full strategy before Christmas 👇

Welcome to day 21 🎅🏻 Today we code! (without knowing how to)

This guide shows how to build a real micro app and turn it into a usable lead magnet. End to end.

A real, over-the-shoulder take on the process from A-Z.

The focus is vibe coding with Cursor for B2B founders, marketers, and operators who want tools instead of PDFs. You will set up the infrastructure, build the app, deploy it, and put it behind a real domain. When you’re done, you will have a working app you can share, iterate on, and use to capture leads.

The example used throughout the guide is a “roast my website” app. It analyzes a site and returns direct feedback on clarity, positioning, and messaging. The idea is simple by design. The value comes from execution, not complexity.

This guide covers the full stack required to do this properly:

  • How to get your own server

  • How to install Easypanel on server to manage it

  • How to install authentication and database, so server is ready

  • How to take idea and build that into an app with Cursor

  • How to save the app to Github

  • How to install the app on your server from Github

  • How to connect a domain to the app, so that you can share it

You will also use a prebuilt boilerplate. That removes setup friction and lets you focus on the parts that matter: app logic, UX, and iteration. Login, database wiring, and core structure are already handled.

Expect debugging. Expect iteration. 

That’s part of building tools that actually work. The guide shows how to use errors, logs, and feedback loops inside Cursor to move forward instead of getting stuck.

By the end, you will understand the process well enough to build other micro apps for your own business. 

Lead magnets, internal tools, calculators, diagnostics, or niche utilities.

Let’s get into it.

Step 1: How to setup your own server

For server, we need more specifically a VPS (virtual private server). These are very cheap and will only cost you $5-6/mo. Personally I use Contabo.com, as they're cheap, and cover most of what we need. They also have auto-backup function if you need and want that. 

When signing up, you'll add what they call a "root" password. You NEED to remember and write this down, as it's important for the next step.

Step 2: How to install Easypanel on your server

Once you've bought your VPS, and it's ready - you'll get an email with the IP for the server. This is a number like this:  163.011.412.125.

This is what we want to connect to to install Easypanel. Easypanel in this context is simply the admin program, which makes it easy for us to do manage the server.

We install it through Cursor in the terminal, or you can use "terminal" or "CMD" on Mac/Windows. 

To get into the server, you write this:

ssh root@[THE IP OF THE SERVER YOU GOT]

Then you likely get a message that you need to input "yes"

Then you get prompted for password, and input the ROOT PASSWORD you set when you bought the VPS.

Then you'll see something like this: 

You've successfully bought, and logged into your server.

Next is installing Easypanel.io. You can find the install code by going to https://easypanel.io/.

It usually looks like this:

curl -sSL https://get.easypanel.io | sh

Simply paste that into the server terminal, and wait. It can take up to 5 minutes.

But you'll get a message at the end with something like "you can access Easypanel on url: https://102.502.222.315:3000"(basically your IP address and :3000 behind it).

Step 3: How to install the apps on the server (database and authentication)

The first time you open Easypanel (or your server IP), you'll see something like this, but signup for super admin.

You simply sign up by adding your email and set a password. This will be the super admin that has access to everything, so don't lose it.

Next up is installing 2 apps: NOCODB and POCKETBASE. First create a project. I called it "tutorial"

Click the "Create project" text.

I named mine "tutorial".

First you click the "+ New" button, the select templates, and search for Pocketbase and NOCODB. Use the settings from image below.

Once you have both installed, you are ready to get things going. First things first, we need to make Postgres server available for our app to access and use. 

To do this click the "nocodb-db" service on the left side. Then click the "Expose" setting below, and add "5431" under exposed port and save.

Click Credentials above, and click on the copy for "External connection URL". Save this for later, as this will be given our app we build to connect to postgres.

Next up is setting up Pocketbase, so we can use it for authentication.

Click the "pocketbase" service on the server.

Click the arrow to open in URL.
It will show error, so now you want to add the long string from LOG above.
It's after "http://0.0.0.0:80/"

Something like this:
_/#/pbinstal/eyJhbGciOiAIAzA1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJwYmNfMzE0MjYzNTgyMyIsImV4cCI6
MTc2NTc4Nzc0OCwiaWQiOiJoOGZnZGEyaTkxNDE3YWwiLCJyZWZyZXNoYWJsZSI6ZmFsc2UsInR5cGUiOiJhdXRoIn0.CQ
Ua6AXaNv198u8v0mkUGxvMobITO52bGR6Cx-q1nqY

You will then get to a page like this:
There you sign up as usual, and keep the credentials. Once signed up, you'll see this page, which means you're inside.
Now to get things ready, you want to click "New collection" and give it the name of the app you want to build, and select type to "Auth Collection" not Base Collection"

Then click Create, and you're done. 

Step 4: How to build an app in Cursor (using our boilerplate)

To be able to build anything in Cursor, you need to have Cursor installed. Download here: https://cursor.com/

It's also recommended to have their Pro $20/mo subscription, as this will speed up everything. Personally I use Ultra, to have the largest usage included.

Once installed you want to download and access the boilerplate we have built for you. You can access it on the link below:

Unzip the file, and you're ready.

Open Cursor, and click File-Open, and select the unzipped folder.

Now you're ready.

The code below is useful if you want to easy stop and start the app in Cursor:
 lsof -i :3000 -t | xargs kill -9 && lsof -i :3001 -t | xargs kill -9 && npm start

The app we built in the video above: Roast My Site

Step 5: How to save your app to Github

Github is the place we save our app, it just works and makes things easier. 

To do this, you need a GitHub account, so if you don't click here to sign up: https://github.com/

Once an account is created, we want to click profile, Repositories, and click "Create New"

Give it a repository name, a description, and then VERY IMPORTANT, change "choose visibility" to "private. Otherwise all will be able to see your full app, and all files, download it and edit it themself.

You'll get to a page like this, where you have a URL.
Next up is saving to Github repository.

To do that, we'll make it simple, and get a personal access token here: https://github.com/settings/tokens

Click "Generate new token","Generate new token (classic)", and toggle "repo". 

You'll get a code like this:  ghp_8ylH4zkEx7jskbX7h9flqEc0rqEBTo3jhzA1

Then what you want to do is add that ahead of the URL you can see on the Repository. You'll end with something like this:

https://ghp_8ylH4zkEx7jsAAX7h9flqEc0rqEBTo3jhzA1@github.com/haraldroine/cursorTutorial.git

Then you go to Cursor and start a new chat, and send it like this:
"I want to commit the local app to https://ghp_8ylH4zkEx7jsAAX7h9flqEc0rqEBTo3jhzA1@github.com/haraldroine/cursorTutorial.git branch main"
(Ensure it uses your access token and repository URL)

Step 6: How to install your app from Github to your server

Now we want to install the app to our server.

Open Easypanel.

Click + icon and "App", give it a name.

The to go "Git" for source, and paste in the same URL you created in our previous step, and click add "Main" to branch, and / in build path - and click save.

Then click Nixpacks for build. And add "npm install" under "Install command" and "npm start" under start command.

Now, you want to copy all the settings for .env file in Cursor into the "Environment" in the sidebar for the app, and toggle "Create .env file" to ON.

Then go do domain, and click the pen icon (edit), and change "port" to 3000 from 80 and save.

Then click Deploy.

And there you got my vibe coding process in a nutshell.

In the written guide you don't see me vibe coding the app (Roast my site), you need to watch the video for that.

But you got the gists of it.

You got my 11 months of vibe coding 14+ apps in <60 minutes. 

Now with this you have the process and system you can use to build a different type of lead magnet for your company.

A lead magnet that stands out.

And could open the path to transition away from just service, to software and tech - if you're not already selling a digital product.

But how do you generate leads with it?

We've built a system to generate leads, but also segment and nurture those leads until they buy.

We would love to give you a personalized walkthrough of how that strategy and engine could be implemented in your company.

If that sounds interesting, use the calendar below to schedule a call.


PS. You're required to submit a form after booking, and watch the video. As that 1) gives us the info we need, and 2) shows you the system so that we spend our 30 min wisely.

Ready to grow your company with an AI-powered lead generation system, like 58 other founders?

Get your own private walkthrough of the system that’s helping us (and founders like you) generate more than 1.5 million impressions per month on LinkedIn, resulting in $1 million+ in additional pipeline value every month.

Find a time in the calendar below to get your walkthrough 👇

See you on the other side!

Best regards,

Harald Roine (AKA. Buro Santa #1)

Lasse Flagstad (AKA. Buro Santa #2)

Privacy - 🧝 Elves don’t sell your data, and neither do we. Privacy is part of the magic. 
All rights reserved © Buro Ops AS