

How to deploy vibe-coded apps to production
You have a vibe-coded app that runs on localhost. Maybe you built it with Claude, Cursor, Lovable, or Bolt. It works. The question is where it actually runs in production and how you make sure it stays live when others use it.
This article covers how to deploy vibe-coded apps on Northflank, using a simple link-in-bio page as a concrete example. The same workflow applies to any vibe-coded app, regardless of which AI tool generated the code.
Vibe coding gets you to a working app fast. Northflank gets it live just as fast.
- Build your app with Claude, Cursor, Lovable, or any AI tool and push the code to GitHub.
- Connect the repository to Northflank. Framework detection handles the build configuration automatically.
- Northflank deploys the app, provisions TLS, and gives you a live URL in under two minutes.
- When your app grows to need a database, secrets management, or preview environments, the same platform covers it without changing your workflow.
What is Northflank? Northflank is a full-stack cloud platform that deploys vibe-coded apps with production-grade infrastructure underneath: managed databases, secrets management, TLS, CI/CD pipelines, preview environments per pull request, and BYOC into your own cloud. No infrastructure code. No DevOps background required. Sign up to get started or book a demo.
To keep things concrete, we will use a simple link-in-bio page built with Claude. This is one of the most common vibe-coded projects: a single-page site with a profile photo, name, bio, and a list of links. No backend, no database, no environment variables. The same deployment steps apply to any static frontend regardless of what you built or which AI tool generated the code.
Here is the prompt used to generate it:
Build a simple link-in-bio page.
Clean minimal design, dark background, centered layout.
Show a profile photo, name, short bio, and a list of links with icons.
Use React and Vite. Keep everything in one file.
The generated app has this structure:
link-in-bio/
├── src/
│ └── App.jsx
├── index.html
├── package.json
└── vite.config.js
One component, no external dependencies beyond React and Vite. The app builds to a dist folder with npm run build. That is all Northflank needs to deploy it.
After generating the app, add a start script to package.json. Buildpacks require a running process, and Vite's build output is a static folder with no server by default. Adding this script gives Northflank a command to run after the build:
"scripts": {
"start": "serve -s dist -l 3000",
},Northflank deploys from Git. If your code is not already in a repository, push it now.
git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/<your-username>/link-in-bio
git push -u origin main
If you used Lovable or Bolt, export the project and push it to GitHub from there. Cursor and Claude Code output directly to your local machine, so the same commands apply.
Sign up for Northflank. The free tier includes two services, one database, and two cron jobs with always-on compute.
Once you are in the dashboard, link your git account and create a new project. A project is a container for all the resources that belong to your app: services, databases, secrets, and pipelines.
- Click New project from the dashboard
- Give it a name (for example,
link-in-bio) - Choose a deployment target (
Northflank Cloud) - Select a region closest to your users
- Click Create project

- Inside the project, click Create service
- Select Combined service and enter a name, for example
link-in-bio - Select your repository from the dropdown and choose the branch to deploy from
- Under Build options, select Buildpack to let Northflank detect your framework and configure the build automatically
- Under Networking, add a public port. Set this to the same port specified in your
startscript inpackage.json. For this example, that is port3000. Northflank will provision a public HTTPS URL on this port automatically. - Leave resources at the default values. You can enable autoscaling from the resources panel at any time if traffic grows
- Click Create service

Northflank builds the app and deploys it. TLS is provisioned automatically. Your app is live on a *.code.run URL in under two minutes.
To use your own domain, first verify it in your Northflank account settings by adding a TXT record to your DNS provider. Once verified, add a subdomain and point it to your service port using the CNAME record Northflank provides. Northflank provisions a TLS certificate automatically.
For the full walkthrough, see Add and verify a domain in the Northflank docs.
By the end of this guide, the app will have:
- A live HTTPS URL
- Automatic redeployment on every push to
main - Always-on compute on the free tier
When your app grows beyond a static site and needs a database, secrets management, background workers, or preview environments per pull request, Northflank covers all of it from the same control plane without changing how you deploy.
No. Northflank detects the runtime from your project files (package.json, requirements.txt, and so on) and builds automatically. A Dockerfile is supported if you want more control, but it is not required for standard Node.js, Python, Ruby, or Go applications.
Yes. For apps with a backend and database, the workflow is the same: connect the repository, add a managed database addon, link a secret group with the connection string, and deploy. Northflank supports PostgreSQL, MySQL, MongoDB, Redis, MinIO, and RabbitMQ as managed addons.
Add them to a Northflank secret group and link the secret group to your service. Northflank injects them at build and runtime. They never appear in your code or build logs.
Yes. Northflank lets you set a root directory per service, so you can deploy the frontend and backend as separate services from the same repository. Each service has its own build configuration, environment variables, and scaling settings.
Northflank's free tier includes always-on compute for two services and one database. Upgrading to a paid plan adds more services, higher resource limits, and BYOC deployment into your own cloud account.
Deploying a vibe-coded app does not have to be the part where the momentum dies. Northflank handles the infrastructure, managed databases, secrets injection, TLS, CI/CD, and preview environments so you can stay focused on the product.
Sign up for free and deploy your first vibe-coded app. Or book a demo if you want to walk through your specific setup with an engineer.
- Best deployment platforms for vibe coders in 2026: A comparison of Northflank, Vercel, Render, Railway, and Fly.io on databases, secrets management, preview environments, and full-stack scope.
- Top managed database services in 2026: Managed Postgres, MySQL, Redis, MongoDB, and more for applications that need a database alongside their deployment platform.
- How to run AI-generated code safely: Covers isolation models and execution environments for AI-generated code that needs more than standard container deployment.
- How to auto-create preview environments on every PR: Step-by-step guide to setting up automatic preview environments on Northflank so every pull request gets its own isolated deployment.


