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.

Resume Check Karo depends on four external services — PostgreSQL, Clerk, Google Gemini AI, and ImageKit — each of which requires its own credentials. This guide walks through obtaining every key and wiring it into your local .env.local file so the application starts cleanly. None of the services require a paid plan to get started; all offer generous free tiers suitable for development and personal use.

Create Your .env.local File

Create a file named .env.local in the root of the project directory. All environment variables listed below must be present for the app to start correctly:
.env.local
# PostgreSQL / Prisma
DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE"

# Google Gemini AI
GOOGLE_API_KEY="your-google-api-key"
GOOGLE_AI_MODEL="gemini-1.5-flash"

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."

# ImageKit
NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT="https://ik.imagekit.io/your_imagekit_id"
IMAGEKIT_PUBLIC_KEY="your_imagekit_public_key"
IMAGEKIT_PRIVATE_KEY="your_imagekit_private_key"
Work through the four sections below to fill in every value.

PostgreSQL / Prisma

Resume Check Karo uses Prisma as its ORM with a PostgreSQL database. The DATABASE_URL variable must be a valid PostgreSQL connection string in the following format:
postgresql://USER:PASSWORD@HOST:PORT/DATABASE
Options for obtaining a PostgreSQL database:
  • Neon (recommended for serverless) — Create a free project at neon.tech. After provisioning, copy the connection string from the Connection Details panel in your project dashboard.
  • Supabase — Create a free project at supabase.com. Find your connection string under Project Settings → Database → Connection string → URI.
  • Local PostgreSQL — If you have Postgres installed locally, your URL typically looks like postgresql://postgres:password@localhost:5432/resume_checker.
Once DATABASE_URL is set, apply the schema and generate the Prisma client:
# Create tables from the Prisma schema
npx prisma migrate dev --name init

# Generate the typed Prisma client (also runs automatically after migrate)
npx prisma generate

Clerk Authentication

Clerk handles user sign-up, sign-in, and session management. You need two keys: a publishable key (safe to expose to the browser) and a secret key (server-only).
1

Create a Clerk Application

Sign up or log in at clerk.com. From the Clerk dashboard, click Create application, give it a name (e.g. Resume Check Karo), and choose your preferred sign-in methods (Email, Google, GitHub, etc.).
2

Copy Your API Keys

In the left sidebar, navigate to API Keys. Copy both values:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."
Keys prefixed with pk_test_ and sk_test_ are development keys. Production deployments use pk_live_ and sk_live_ keys generated from the same screen.
3

Configure Redirect URLs

In your Clerk application settings, navigate to Redirects and set the following:
  • Sign-in redirect URL: /dashboard
  • Sign-up redirect URL: /dashboard
This ensures users land on the upload dashboard immediately after authenticating.

Google Gemini AI

The analysis engine is powered by Google Gemini AI through the @google/genai SDK. You need an API key and a model name.
1

Get Your API Key from Google AI Studio

Go to aistudio.google.com and sign in with your Google account. Click Get API key in the left sidebar, then Create API key. Copy the generated key:
GOOGLE_API_KEY="AIza..."
2

Choose a Gemini Model

Set GOOGLE_AI_MODEL to the Gemini model you want to use for resume analysis. Recommended options:
# Faster, lower cost — good for development and high-volume usage
GOOGLE_AI_MODEL="gemini-1.5-flash"

# More capable, better reasoning — recommended for production quality results
GOOGLE_AI_MODEL="gemini-1.5-pro"
gemini-1.5-flash is the recommended default. It provides high-quality analysis at lower latency and cost. Switch to gemini-1.5-pro if you need deeper reasoning on complex resumes.
Both gemini-1.5-flash and gemini-1.5-pro are available on the Google AI Studio free tier with generous rate limits, making them well suited for development and personal use without a billing account.

ImageKit

ImageKit handles PDF and image file storage. Resume Check Karo uses the @imagekit/next SDK on the client side and the imagekit Node.js SDK on the server side for authenticated uploads.
1

Create an ImageKit Account

Sign up at imagekit.io. After registration, your account is provisioned with a unique ImageKit ID which appears in your URL endpoint.
2

Find Your Credentials

In the ImageKit dashboard, go to Developer Options (left sidebar). You will find all three values on that page:
# Your public URL endpoint — used to construct file URLs in the browser
NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT="https://ik.imagekit.io/your_imagekit_id"

# Public key — safe to use in client-side upload authentication
IMAGEKIT_PUBLIC_KEY="public_..."

# Private key — server-only, used to sign upload authentication tokens
IMAGEKIT_PRIVATE_KEY="private_..."

Complete .env.local Reference

Here is the full environment file with all variables in one place for easy copy-paste:
.env.local
# -------------------------------------------------------
# PostgreSQL / Prisma
# -------------------------------------------------------
DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE"

# -------------------------------------------------------
# Google Gemini AI
# -------------------------------------------------------
GOOGLE_API_KEY="AIza..."
GOOGLE_AI_MODEL="gemini-1.5-flash"

# -------------------------------------------------------
# Clerk Authentication
# -------------------------------------------------------
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."

# -------------------------------------------------------
# ImageKit
# -------------------------------------------------------
NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT="https://ik.imagekit.io/your_imagekit_id"
IMAGEKIT_PUBLIC_KEY="public_..."
IMAGEKIT_PRIVATE_KEY="private_..."
Never commit .env.local to version control. This file contains secret keys that grant full access to your database, AI quota, file storage, and user authentication system. Confirm that .env.local is listed in your .gitignore before making any commits. If a secret key is accidentally exposed, rotate it immediately from the respective service dashboard.

Build docs developers (and LLMs) love