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
- 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:Fork the Repository
Fork the gtm-feedback repository to your GitHub account.
Create a New Vercel Project
- Go to vercel.com/new
- Import your forked repository
- Set the root directory to
apps/www - Click “Deploy” (don’t worry about environment variables yet)
Set Up Required Services
You’ll need to provision the following services:
PostgreSQL Database
PostgreSQL Database
Use any PostgreSQL provider (Neon, Supabase, RDS, etc.).For Neon:
- Create account at neon.tech
- Create a new project
- Copy the connection string
- Set as
DATABASE_URLenvironment variable
Upstash KV (Redis)
Upstash KV (Redis)
Required for session management and caching.
- Create account at upstash.com
- Create a new Redis database
- Copy the REST API credentials
- Set
KV_REST_API_URL,KV_REST_API_TOKEN, andKV_URL
Google OAuth
Google OAuth
Required for user authentication.
- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google+ API
- Create OAuth 2.0 credentials
- Add authorized redirect URI:
https://your-app.vercel.app/api/auth/callback/google - Copy Client ID and Client Secret
- Set as
AUTH_GOOGLE_CLIENT_IDandAUTH_GOOGLE_SECRET
OpenAI API
OpenAI API
Required for AI features and embeddings.
- Create account at platform.openai.com
- Generate an API key
- Set as
OPENAI_API_KEY
Configure Environment Variables
In your Vercel project settings, add all required environment variables. See the Environment Variables page for a complete list.
Post-Deployment Setup
After your first deployment:Run Database Migrations
The database schema is automatically created on first connection. However, if you need to manually push the schema:
Seed Demo Data (Optional)
To populate your database with realistic demo data: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
Verify Authentication
- Navigate to your deployed app
- Click “Sign in with Google”
- Verify you can successfully authenticate
Vercel Configuration
The project includes optimized Vercel configuration: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
Database connection errors
Database connection errors
- Verify
DATABASE_URLis correctly set - Ensure your database allows connections from Vercel’s IP addresses
- Check that SSL mode is configured correctly (most providers require SSL)
Authentication fails
Authentication fails
- Verify Google OAuth redirect URI matches your deployment URL exactly
- Check that
AUTH_GOOGLE_CLIENT_IDandAUTH_GOOGLE_SECRETare set - Ensure your Google OAuth app is not in testing mode or add test users
Build failures
Build failures
- 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