§ 01TL;DR
Live across 4 locations in 5 languages, costing pennies a day.
An automated Google review reply system for a Lisbon restaurant group. Replies within minutes, matches the review language, alerts on low ratings, and runs for less than 5 cents a day.
§ 02The brief
Contrabando is a Lisbon bar and restaurant group with four locations and thousands of Google reviews. Reviews were coming in faster than the team could reply. Late or missing replies hurt search ranking and first impressions. The owner wanted replies that felt like him: formal but warm, in the language of the review, with real urgency when something had gone wrong. Negatives needed an instant alert so a manager could pick up the phone if it mattered.
I want to reply to every Google review in my voice, fast
so that I can protect my ranking and look after the guests who took the time to write
§ 03The work
We built the system end to end: tone guidelines, language detection, reply generation, posting via the Google Business Profile API, and a WhatsApp alert for negatives. Three rounds of test reviews against the owner's standard, then go-live on one location, then a clean expansion to the rest of the group.
Tone first
Generic AI replies sound like AI replies. We pulled 17 real examples from the existing review history across nine categories (positive, negative, star-only, billing, staff, language) and wrote a tone guide that covered five languages: Portuguese, English, Spanish, French, Italian. The guide doubled as the system prompt, so the model and the humans were reading from the same script.
Detection and posting
The bot polls Google Business Profile hourly across all four locations. Each new review goes through a language check, then into the model with the tone guide as context. The reply gets posted via the GBP API. Reviews of 1 or 2 stars also fire a WhatsApp alert with the rating and a short snippet, so a manager can step in.
Test, ship, expand
The owner ran three rounds of QA against real reviews. We tightened tone on neutral and 2-star replies after the first round (they read as too breezy for the disappointment in the review). After approval we went live on one location, monitored 24 hours, then rolled to the other three. State now lives in Postgres, keyed by location, with a heartbeat ping if the cron stops.
§ 04What we found
The tone guide did more work than the model.
The hard part wasn't the API or the language detection. It was specifying what a good reply looks like when the review is one star and three words long. Real examples beat instructions. Once the tone guide held the answers, the model just followed.
§ 05Impact
Live since 1 April 2026. Every new review is replied to within the hour, in its own language, in the owner's voice. Negative reviews fire a WhatsApp alert so the team can follow up directly. The system has been stable enough that the validation work has spun out into a separate product (Reply Bot) for other small businesses with the same problem.
The replies sound like us. That's the part I didn't think was possible. Owner, Contrabando