Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nayalsaurav/resume-analyzer/llms.txt

Use this file to discover all available pages before exploring further.

Vercel is the recommended deployment platform for Next.js applications, and Resume Check Karo is built to work with it out of the box. Vercel handles CI/CD automatically on every push, provides edge caching for static assets, and integrates directly with GitHub — making it the fastest path from a local clone to a live, production-ready analyzer.

Prerequisites

Before deploying, make sure you have the following ready:

Vercel Account

A free Vercel account is sufficient to get started. Pro is recommended for longer AI response timeouts.

PostgreSQL Database

A hosted PostgreSQL instance from Neon, Supabase, or Railway. You’ll need the full connection string.

Clerk Application

A Clerk application with publishable and secret keys, configured for your production domain.

Google AI & ImageKit

A Google AI Studio API key and an ImageKit account with URL endpoint, public key, and private key.

Deployment Steps

1

Fork or clone the repository

Start by forking the Resume Check Karo repository to your own GitHub account, or pushing your local clone to a new GitHub repo. Vercel deploys directly from GitHub, so the project must be hosted there.
# Clone the repo locally if you haven't already
git clone https://github.com/nayalsaurav/resume-analyzer.git
cd resume-analyzer

# Push to your own GitHub repo
git remote set-url origin https://github.com/<your-username>/resume-analyzer.git
git push -u origin main
2

Import the project on Vercel

Go to vercel.com/new and click Import Git Repository. Select the GitHub repo you just pushed. Vercel will automatically detect the Next.js framework and pre-fill the build settings:
SettingValue
Framework PresetNext.js (auto-detected)
Build Commandnpm run build
Output Directory.next
Install Commandnpm install
Do not click Deploy yet — configure your environment variables first.
3

Configure environment variables

In the Vercel project settings, navigate to Settings → Environment Variables and add all eight required variables. Make sure to set each variable for the Production environment (and optionally Preview/Development if needed).
VariableDescription
DATABASE_URLFull PostgreSQL connection string from Neon, Supabase, or Railway. Must include the database name, user, password, and host.
GOOGLE_API_KEYYour Google Gemini API key from Google AI Studio. Controls access to the AI analysis endpoint.
GOOGLE_AI_MODELThe Gemini model to use, e.g. gemini-1.5-flash. Flash is faster and cheaper; Pro is more accurate for complex resumes.
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYClerk publishable key — safe to expose to the browser. Found in your Clerk dashboard under API Keys.
CLERK_SECRET_KEYClerk secret key — server-only. Never prefix with NEXT_PUBLIC_. Found in your Clerk dashboard under API Keys.
NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINTYour ImageKit URL endpoint, e.g. https://ik.imagekit.io/your_id. Used client-side for image rendering.
IMAGEKIT_PUBLIC_KEYImageKit public key from Developer options in your ImageKit dashboard. Used for client-side upload authentication.
IMAGEKIT_PRIVATE_KEYImageKit private key — server-only. Used to sign upload tokens. Never expose this to the client.
Use Vercel’s environment variable UI to store secrets — never commit a .env file containing real credentials to your repository. Vercel encrypts secrets at rest and injects them at build and runtime.
4

Run Prisma migrations

Before your first deploy (or any time you change the database schema), you need to apply migrations to your production PostgreSQL database.Run the following command locally with your production DATABASE_URL set in a .env file or inline:
# Apply all pending migrations to the production database
DATABASE_URL="postgresql://user:password@host:5432/dbname" npx prisma migrate deploy
migrate dev vs migrate deployprisma migrate dev is for local development only: it creates new migration files and can reset your database. prisma migrate deploy is safe for production: it applies only pending, already-committed migration files without any interactive prompts or destructive resets.
Alternatively, you can add a postdeploy script or a Vercel deploy hook that runs npx prisma migrate deploy automatically after each deployment. A simple approach is to update your build script:
"scripts": {
  "build": "prisma migrate deploy && next build"
}
This ensures migrations always run before the Next.js build completes on Vercel.
5

Deploy

Click Deploy on Vercel (or push a new commit — Vercel will trigger automatically). The build pipeline runs:
npm install          # installs dependencies
npm run build        # runs `next build`, then `next-sitemap` via postbuild
The next-sitemap postbuild step automatically generates sitemap.xml and robots.txt in the public/ directory based on next-sitemap.config.js. No extra configuration is needed on Vercel — it runs as part of the standard build.Once the build succeeds, Vercel will provide a live URL such as https://resume-analyzer-<hash>.vercel.app. Your production deployment is also reachable at resumecheckkaro.nayalsaurav.tech.
6

Configure Clerk redirect URLs

After your first successful deploy, you must register your Vercel domain with Clerk so authentication flows work correctly in production.
  1. Open your Clerk dashboard and select your application.
  2. Go to Domains and add your Vercel production domain (e.g. https://resume-analyzer.vercel.app or your custom domain).
  3. Under Paths, set the Sign-in redirect URL to /dashboard so authenticated users land on their resume dashboard after login.
  4. Add any Vercel preview deployment URLs (e.g. https://resume-analyzer-git-*.vercel.app) to Allowed redirect origins if you want auth to work in preview deployments as well.
Without this step, Clerk will reject redirect requests from your production domain and users will not be able to sign in.

Timeout Considerations

Vercel’s serverless functions have a 10-second default execution timeout on the Hobby plan. Google Gemini AI analysis for a detailed resume can take up to 15 seconds depending on resume length and model load. If users see timeout errors on the analysis endpoint, you have two options:
  1. Upgrade to Vercel Pro — increases the default function timeout to 60 seconds.
  2. Set maxDuration in your route config — add the following export to the route handler or server action file that calls Gemini:
// app/api/analyze/route.ts (or the relevant server action file)
export const maxDuration = 30; // seconds — requires Vercel Pro or higher

Build & Output Reference

PropertyValueNotes
Build commandnpm run buildRuns next build + next-sitemap postbuild
Output directory.nextNext.js default; do not change
Install commandnpm installStandard Node package install
Node.js version18.x or 20.xSet in Vercel project settings under General
If you use a custom domain, set it in Vercel → Settings → Domains and update the Clerk domain allowlist accordingly. The default production URL is https://resumecheckkaro.nayalsaurav.tech, defined in app/layout.tsx and next-sitemap.config.js.

Build docs developers (and LLMs) love