One Next.js codebase serving 48+ live UK city websites, each with an on-site AI sales agent that scopes jobs, reads uploaded survey documents, prices them, and files the lead straight into the company CRM — plus the SEO, analytics and deployment infrastructure to run the whole estate.
Host-based tenant routing resolves every incoming domain to its own city profile from 55 typed configurations, so a new city is a config, not a codebase. A GPT-4o agent handles multi-item quoting with AI catalog-gap price estimation, while Gemini performs survey-document OCR with a large-file pipeline (Vercel Blob direct-to-storage plus the Gemini File API) so oversized management surveys never fail. Every quote and enquiry flows into the CRM — source-tagged by city, with role-based visibility, address captured at accept, and automatic diary booking. Rebuilt each site’s technical SEO (per-domain titles, meta, canonical, Open Graph, JSON-LD, sitemaps and robots) and shipped a Google Search Console ranking dashboard across a GitHub-to-Vercel auto-deploy estate.
multitenant
AIquoting
documentOCR
CRMsync
technicalSEO
rankinganalytics
Next.jsOpenAI GPT-4oGoogle GeminiVercel BlobVercelSearch Console