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
pewsearchGitHub repo pnpminstalled locallyvercelCLI logged in (vercel whoami→churchwiseai-5386)- Working directory:
C:\dev\pewsearch\web\
Steps
-
Create a feature branch from the deploy branch
cd /c/dev/pewsearch/webgit checkout master && git pullgit checkout -b feat/<short-description>Note: PewSearch deploys from
master, notmain. -
Make your changes, then verify the build passes locally
pnpm buildFix all TypeScript and lint errors before proceeding.
-
Stage and commit
git add <specific-files>git commit -m "feat: describe your change" -
Push the feature branch
git fetch origin && git pull --rebasegit push -u origin feat/<short-description>Vercel automatically creates a preview deployment for the branch.
-
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]
- Check Vercel preview URL (appears in GitHub PR checks or
-
Merge to master to trigger production deploy
git checkout master && git pullgit merge feat/<short-description>git push -
Monitor the production deployment
vercel logs --tail --project pewsearch-webWatch for runtime errors. Deploy takes 60–90 seconds.
-
Smoke test production
- https://pewsearch.com — homepage loads
- https://pewsearch.com/directory — search works, results appear
- https://pewsearch.com/churches/[a-known-slug] — church detail page renders
- Check browser console for JavaScript errors
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
- rollback.md — revert a bad deploy
- update-church-info.md — update church data
C:\dev\pewsearch\web\CLAUDE.md— project-specific instructions