Skip to main content
Local development runs three processes: the Go API, the portal dev server, and (optionally) the marketing site, with PostgreSQL and SuperTokens in Docker.

Prerequisites

  • Go 1.24+, Node 22+, Docker
  • Task for the repo’s task runner commands
  • Air for Go live-reload (optional but recommended)

The zero-signup path

docker-compose.local-st.yml self-hosts both PostgreSQL and SuperTokens, so you can run everything locally without creating any external accounts:
Google Cloud Storage is optional in local dev; leaving the bucket unset disables it. Email, web push, and Apple Wallet are similarly optional.

Run the backend

Run the portal

The portal owns port 3000. It’s pinned there by FRONTEND_URL and the SuperTokens website domain.

Run the marketing site (optional)

It needs HARP_API_BASE_URL and HARP_PUBLIC_API_KEY set (matching the backend’s PUBLIC_API_KEY); without them the page renders setup instructions instead of live data.

Git hooks

If you plan to commit, enable the repo’s hooks once per clone:
See Contributing for what they enforce.