Skip to main content
Local development is best for dashboard development and UI testing. For a complete Instagram webhook flow, use a deployed Convex site URL and a public app domain or tunnel because Meta cannot call localhost.

Prerequisites

Install:
  • Git.
  • Node.js 24 or newer.
  • A Convex account.

Install dependencies

1

Clone the repository

2

Install packages

3

Create the environment file

In Windows PowerShell:

Configure local values

At minimum, set these values in .env.local:
Google OAuth is required for normal sign-in. Follow Google OAuth, then set:

Run Convex and Next.js

Start the app:
Open:
The local dev flow runs Next.js and convex dev together. The predev flow initializes Convex, runs the Convex Auth setup helper once, and opens the Convex dashboard. If the Convex Auth setup helper prompts for SITE_URL, use the local or tunnel URL you configured.

Convex URLs

npx convex dev writes these values locally:
For local Google OAuth, use the Convex site URL as the redirect URI, not the Next.js app URL:

Public tunnels

For local Meta OAuth or tracked links, set SITE_URL to a public tunnel URL instead of http://localhost:3000:
Use that same tunnel URL for the Meta OAuth redirect.

Useful commands