Skip to main content

Knowledge > Runbooks > Deployment > Deploy PewSearch

Deploy PewSearch to Production

Deploy changes to pewsearch.com (church directory — 218K+ visible listings) via Vercel's git-based continuous deployment.

Prerequisites

  • Write access to the pewsearch GitHub repo
  • pnpm installed locally
  • vercel CLI logged in (vercel whoamichurchwiseai-5386)
  • Working directory: C:\dev\pewsearch\web\

Steps

  1. Create a feature branch from the deploy branch

    cd /c/dev/pewsearch/web
    git checkout master && git pull
    git checkout -b feat/<short-description>

    Note: PewSearch deploys from master, not main.

  2. Make your changes, then verify the build passes locally

    pnpm build

    Fix all TypeScript and lint errors before proceeding.

  3. Stage and commit

    git add <specific-files>
    git commit -m "feat: describe your change"
  4. Push the feature branch

    git fetch origin && git pull --rebase
    git push -u origin feat/<short-description>

    Vercel automatically creates a preview deployment for the branch.

  5. Verify the preview deployment

    • Check Vercel preview URL (appears in GitHub PR checks or vercel ls)
    • Test the directory search: [preview-url]/directory
    • Test a church detail page: [preview-url]/churches/[some-slug]
    • Test the claim flow if you modified it: [preview-url]/claim/[some-slug]
    • Test the admin if you modified it: [preview-url]/admin/[a-known-token]
  6. Merge to master to trigger production deploy

    git checkout master && git pull
    git merge feat/<short-description>
    git push
  7. Monitor the production deployment

    vercel logs --tail --project pewsearch-web

    Watch for runtime errors. Deploy takes 60–90 seconds.

  8. Smoke test production

Verification

vercel ls --project pewsearch-web

Top entry should show "Production" with status "Ready" and a timestamp within the last few minutes.

Special Considerations

  • Church count: The directory shows ~218K visible churches (directory_visible=true). The raw table has 261K rows. Never display or quote the raw count.
  • ISR cache: Church detail pages use Incremental Static Regeneration. After data changes, pages may show stale content for up to 1 hour. This is expected behavior.
  • AI features go in churchwiseai-web, not here. If you are adding AI product features, stop — see the portfolio CLAUDE.md.

Rollback

If the production deploy is broken, see rollback.md.

See Also