Deploy Your Convex Frontend

Convex syncs your data in real time. ZeroDeploy ships your frontend in seconds.

Last updated: February 20, 2026

How it works

Convex backend + ZeroDeploy frontend.

Convex runs your backend logic (queries, mutations, actions) in their cloud with a real-time sync layer. Your React frontend — hosted on ZeroDeploy — connects via the Convex client, which handles automatic updates when data changes. ZeroDeploy serves your static files; Convex handles everything else.

Deploy in 3 steps

From zero to live in under a minute.

1

Create your frontend project

Scaffold a new project with Vite. Add the Convex SDK and connect it to your backend.

bash
npm create convex@latest my-app
2

Build for production

Run the build command to generate static output in dist/.

bash
cd my-app && npm run build
3

Deploy to ZeroDeploy

One command to push your frontend to the edge. It's live in seconds.

bash
zerodeploy deploy --dir dist

Configuration tips

Connecting your frontend to Convex.

  • Set your Convex deployment URL as an environment variable: VITE_CONVEX_URL. Get this from your Convex dashboard or by running npx convex dev.
  • Wrap your app with ConvexProvider using the deployment URL: <ConvexProvider client={convex}>.
  • Convex functions (queries, mutations, actions) live in a convex/ directory and deploy separately with npx convex deploy. Your frontend deploy on ZeroDeploy is independent.

Things to know

Convex-specific tips to avoid common pitfalls.

  • Convex backend and frontend deploy separately. Run npx convex deploy to push your backend functions, then zerodeploy deploy to push your frontend. They're independent workflows.
  • The VITE_CONVEX_URL environment variable must point to your production Convex deployment when building for production. Double-check this before running npm run build.
  • For SPAs with client-side routing, create a public/_redirects file with /* /index.html 200. Learn more about redirects →
  • Convex's real-time sync works over WebSockets from the client. No server-side setup is needed on the hosting side — ZeroDeploy serves the static files and Convex handles the real-time connection.

Everything you need

Host your Convex frontend with the features you'd expect from a modern hosting platform.

Instant Deploys

Push to deploy in under 5 seconds. No queues, no build minutes to worry about.

Preview URLs

Every deployment gets a unique URL. Share any version instantly with your team.

Custom Domains

Connect your own domain with automatic SSL. Just add a CNAME and you're live. Learn more →

GitHub Actions CI/CD

Deploy on every push with GitHub Actions. Get PR comments with preview URLs. Set up CI/CD →

Built-in Analytics

See traffic, top pages, referrers, and countries right in your dashboard. No third-party scripts. Learn more →

Forms That Just Work

Add action="/_forms/contact" to any form. Submissions appear in your dashboard. Learn more →

Frequently asked questions

Can I deploy a Convex app on ZeroDeploy?

Yes. ZeroDeploy hosts your frontend (React, Next.js static export, etc.) while Convex handles your backend (database, server functions, real-time sync). Your frontend connects to Convex via their client library — no server needed on the hosting side.

How do I deploy Convex functions and my frontend separately?

Run npx convex deploy to push your backend functions to Convex. Then run zerodeploy deploy --dir dist to push your frontend to ZeroDeploy. They're independent — you can update one without touching the other.

Does Convex real-time sync work with ZeroDeploy?

Yes. Convex's real-time sync works via WebSockets from the browser. Your frontend is a static site hosted on ZeroDeploy — when it loads, the Convex client connects to Convex's servers for real-time updates. The hosting layer is transparent.

Why use ZeroDeploy instead of Vercel for a Convex app?

If your Convex app's frontend is a static SPA (no SSR), ZeroDeploy is simpler and cheaper. You get instant deploys, preview URLs, built-in forms, and analytics at $29/month flat — no per-seat pricing. Vercel is better if you need SSR or serverless functions alongside Convex.

Also works with

ZeroDeploy hosts frontends for any backend-as-a-service.

Framework deploy guides

Deploy your Convex frontend in seconds

Convex handles the backend. ZeroDeploy handles the frontend. One command to go live.