React

Deploy your React app

A React app is just static files once it's built — the CLI doesn't know or care that it's React. The only thing that varies is which folder the build lands in, and that depends on what scaffolded the project.

steps
  1. 01

    Build the app

    Run "npm run build" (or the equivalent for your package manager). This bundles and minifies everything into a folder of static files.

  2. 02

    Find the output folder

    Scaffolded with Vite (the current default)? It's "dist". Still on Create React App? It's "build" — CRA is deprecated but plenty of projects still use it.

  3. 03

    Deploy it

    Run "npx harvis deploy dist" from your project root. No config and no login for this first deploy — you get a live URL immediately, plus a private claim link to attach the site to a free account whenever you're ready.

Deploy React with one command

Build your project, then hand the output folder to harvis. No account needed for the first deploy — you'll get a live link and a private claim link to manage it later.

terminal
npm run build
npx harvis deploy dist

Prefer dragging files instead of a terminal? Build the project, then drop the output folder here and publish it the same way.

React deploy questions

My project uses Create React App, not Vite. Does anything change?

Only the folder name. Run "npm run build" as usual, then "npx harvis deploy build" instead of "dist". Everything else — routing, assets, the deploy itself — works the same.

Does client-side routing (React Router) work after deploying?

Yes, for the common case. harvis falls back to your entrypoint HTML file for unmatched paths, which is what client-side routers need to handle a direct visit to a deep link like /settings.

Is deploying a React app to harvis actually free?

Yes, no card required. Free limits are 500 files and 50 MB per site, which covers a static React build with plenty of room. Published sites don't expire — they stay live until you delete them.

Can I use my own domain with the deployed React site?

Every site gets a free harvis.dev address, and you can pick your own subdomain from the dashboard after claiming it — my-app.harvis.dev instead of a random one. Pointing a domain you already own (like mystore.com) at the site isn't supported yet.

How is this different from deploying React to Vercel or Netlify?

Vercel and Netlify are built around connecting a Git repo and running your build on their servers, with a dashboard to configure it. harvis skips all of that: you build locally (or in your own CI), run one CLI command against the output folder, and get a link — no project setup, and no account needed until you want to keep the site.

other frameworks

Deploying something else?

The recipe is the same everywhere — build it, then npx harvis deploy the output.