Skip to main content

Deploy to Vercel

Deploy your ClientFlo instance to Vercel in under 5 minutes. Vercel provides automatic HTTPS, a global CDN, continuous deployment from Git, and a generous free tier (100 GB bandwidth, 100k function invocations per month).

ℹ️
Prerequisites: Before deploying, complete the service setup guides:Firebase, Cloudinary, Resend, Google Calendar, and environment variables.

Prerequisite: Push Your Fork to GitHub

If you haven't already, push your forked repository to GitHub:

# If you cloned your fork locally and made changes
git push origin main

Your repository should contain all the ClientFlo source code with your configuration changes committed.


Step-by-Step Deployment Guide

Follow this interactive walkthrough to deploy ClientFlo on Vercel — covers importing from GitHub, configuring environment variables, and deploying:

⚠️
Build fails? The most common causes are missing environment variables, especially NEXT_PUBLIC_FIREBASE_* and FIREBASE_ADMIN_PRIVATE_KEY. Check the build logs in Vercel for the specific error.

Set Up a Custom Domain (Optional)

Follow this walkthrough to add and configure a custom domain for your Vercel deployment:

💡
After adding a custom domain, update NEXT_PUBLIC_APP_URL in your Vercel environment variables to match your new domain, then redeploy.

Continuous Deployment

Vercel automatically deploys every time you push to your GitHub repository's default branch. The workflow is:

  1. Make changes locally
  2. Commit and push to GitHub: git push origin main
  3. Vercel detects the push, builds, and deploys automatically
  4. Your site updates in under 2 minutes

You can also create Preview Deployments for pull requests · Vercel automatically deploys each PR to a unique preview URL for testing.


Alternative: Self-Host on Any Node.js Server

If you prefer to self-host rather than use Vercel, ClientFlo runs on any Node.js server:

# Clone your fork on the server
git clone https://github.com/Tabish5858/ClientFlo.git
cd clientflo-crm

# Install dependencies
npm install

# Create and configure .env file
cp .env.example .env
# Edit .env with your service credentials

# Build for production
npm run build

# Start the server
npm start

The production server runs on http://localhost:3000 by default. Use a reverse proxy (nginx, Caddy) with automatic HTTPS in front of it.

ℹ️
Requirements: Node.js 22+ and npm 10+. ClientFlo stores all data in Firebase, so no database setup is needed on the server.

Verify the Deployment

After deploying, verify everything works:

  • Landing page loads · Visit your deployment URL
  • Authentication works · Register a new account or sign in
  • Demo mode loads · Click “Try Demo” on the landing page
  • Firestore operations work · Create a test lead or project
  • Documents upload · Upload a file in the Documents section
  • Emails send · Check the Resend dashboard for sent emails

If something isn't working, check the Vercel deployment logs or the browser console for error messages.


Next Steps