Skip to main content

One-Click Deploy

The fastest way to deploy GTM Feedback is using the one-click Vercel deploy button. This will automatically provision all required services:

Deploy to Vercel

Click to deploy with automatic service provisioning
This deployment will automatically set up:
  • Neon Postgres - Database for accounts, opportunities, and feedback
  • Upstash KV - Redis cache for session management
  • Upstash Vector - Vector database for AI-powered semantic search

Manual Deployment

If you prefer to configure services manually or use different providers:
1

Fork the Repository

Fork the gtm-feedback repository to your GitHub account.
2

Create a New Vercel Project

  1. Go to vercel.com/new
  2. Import your forked repository
  3. Set the root directory to apps/www
  4. Click “Deploy” (don’t worry about environment variables yet)
3

Set Up Required Services

You’ll need to provision the following services:
Use any PostgreSQL provider (Neon, Supabase, RDS, etc.).For Neon:
  1. Create account at neon.tech
  2. Create a new project
  3. Copy the connection string
  4. Set as DATABASE_URL environment variable
Required for session management and caching.
  1. Create account at upstash.com
  2. Create a new Redis database
  3. Copy the REST API credentials
  4. Set KV_REST_API_URL, KV_REST_API_TOKEN, and KV_URL
Required for user authentication.
  1. Go to Google Cloud Console
  2. Create a new project or select existing
  3. Enable Google+ API
  4. Create OAuth 2.0 credentials
  5. Add authorized redirect URI: https://your-app.vercel.app/api/auth/callback/google
  6. Copy Client ID and Client Secret
  7. Set as AUTH_GOOGLE_CLIENT_ID and AUTH_GOOGLE_SECRET
Required for AI features and embeddings.
  1. Create account at platform.openai.com
  2. Generate an API key
  3. Set as OPENAI_API_KEY
4

Configure Environment Variables

In your Vercel project settings, add all required environment variables. See the Environment Variables page for a complete list.
5

Deploy

Trigger a new deployment from Vercel dashboard or push to your main branch.

Post-Deployment Setup

After your first deployment:
1

Run Database Migrations

The database schema is automatically created on first connection. However, if you need to manually push the schema:
pnpm db:push
2

Seed Demo Data (Optional)

To populate your database with realistic demo data:
pnpm db:seed
This will create:
  • 5 internal users
  • 8 product areas for a B2B analytics SaaS
  • 10 customer accounts with varied ARR
  • ~30 opportunities
  • 15 feature requests
  • ~75 customer feedback entries
3

Verify Authentication

  1. Navigate to your deployed app
  2. Click “Sign in with Google”
  3. Verify you can successfully authenticate
4

Test Feedback Creation

Create a test feedback item to ensure all integrations are working correctly.

Vercel Configuration

The project includes optimized Vercel configuration:
{
  "framework": "nextjs",
  "buildCommand": "pnpm build",
  "installCommand": "pnpm install",
  "regions": ["iad1"],
  "env": {
    "NEXT_TELEMETRY_DISABLED": "1"
  }
}
The app is configured to run in the iad1 (US East) region by default. You can change this to a region closer to your users for better performance.

Troubleshooting

  • Verify DATABASE_URL is correctly set
  • Ensure your database allows connections from Vercel’s IP addresses
  • Check that SSL mode is configured correctly (most providers require SSL)
  • Verify Google OAuth redirect URI matches your deployment URL exactly
  • Check that AUTH_GOOGLE_CLIENT_ID and AUTH_GOOGLE_SECRET are set
  • Ensure your Google OAuth app is not in testing mode or add test users
  • Check Vercel build logs for specific errors
  • Ensure all required environment variables are set
  • Verify your Node.js version matches requirements (18.x or higher)

Next Steps

Environment Variables

Complete reference for all configuration options

Slack Integration

Set up the Slack app for feedback collection

Build docs developers (and LLMs) love