Local Development
1. Install dependencies
From the repo root:
pnpm install
2. Start Convex
In a dedicated terminal:
npx convex dev
This generates Convex types and serves the Convex functions used by the web app.
3. Start the Next.js app
In another terminal:
pnpm dev
By default the app runs at http://localhost:3000.
4. Start the optional Python backend
The FastAPI service is required for some proxied mobile endpoints, wallet pass operations, add-on routes, and backend-only integrations.
From backend/:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn server:app --reload --port 8001
Then set:
BACKEND_URL=http://127.0.0.1:8001
5. Run the docs site
If you want the documentation locally:
pnpm docs:install
pnpm docs:dev
The docs app defaults to http://localhost:3001.
6. Verify the stack
Useful checks:
- Web app:
http://localhost:3000 - Platform health:
http://localhost:3000/api/health - Mobile gateway root:
http://localhost:3000/api/mobile/backend - Optional backend health:
http://127.0.0.1:8001/health - Docs site:
http://localhost:3001
Common local setups
Web-only
Use this when working on pages, components, Convex queries, or organizer flows:
npx convex devpnpm dev
Web plus mobile gateway
Use this when exercising proxied backend flows from mobile/ or app/api/mobile/backend:
npx convex devpnpm devuvicorn server:app --reload --port 8001
Docs authoring
Use this when updating documentation content or the docs theme:
pnpm docs:installpnpm docs:dev