← Back to Blog
Header image for blog post: How to deploy vibe-coded apps to production
Daniel Adeboye
Published 27th April 2026

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.

TL;DR: How to deploy vibe-coded apps to production

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.

What we’re deploying

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",
  },

Step 1: Push the code to GitHub

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.

Step 2: Create a Northflank account and project

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.

  1. Click New project from the dashboard
  2. Give it a name (for example, link-in-bio)
  3. Choose a deployment target (Northflank Cloud)
  4. Select a region closest to your users
  5. Click Create project

image - 2026-04-27T151029.578.png

Step 3: Deploy the app

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

image - 2026-04-27T151024.270.png

Northflank builds the app and deploys it. TLS is provisioned automatically. Your app is live on a *.code.run URL in under two minutes.

Step 4: Add a custom domain (optional)

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.

What you get

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.

FAQ: deploying vibe-coded apps

Do I need a Dockerfile to deploy on Northflank?

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.

Can I deploy a full-stack vibe-coded app the same way?

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.

What if my app needs environment variables?

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.

Can I deploy a monorepo with frontend and backend in the same repository?

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.

How do I keep my app running if I leave the free tier?

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.

Conclusion

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.

Share this article with your network
X