Context
Businesses with multiple locations on Google Maps struggle to keep up with incoming reviews.
Responding manually is slow, inconsistent and hard to scale — especially across languages and when negative reviews require careful handling.
Solution
- Built a multi-tenant SaaS platform (Next.js, TypeScript, PostgreSQL, Prisma) where each business manages all locations from one dashboard.
- Integrated Google OAuth 2.0 and Google Business Profile APIs to sync accounts, locations and reviews, and publish replies directly from the app.
- Engineered an AI reply pipeline using OpenAI-compatible models: multilingual draft generation, risk classification for negative reviews, guardrails to prevent off-brand responses, and manual approval before publishing.
- Implemented background job processing (pg-boss) for scheduled review sync, draft generation and resilient retries across the full pipeline.
- Deployed with Docker Compose, Caddy and Cloudflare, with n8n workflows for automation, demo generation and outreach.
Results
- Businesses respond to reviews faster and more consistently, without switching between Google accounts.
- AI drafts reduce writing time while risk controls catch sensitive replies before they go live.
- Background automation keeps the review pipeline running without manual intervention.