All cases
Street food chain · under NDAFour Eastern European countries

Reputation Loop

Reputation LoopMulti-locationAI Systems

01

Challenge

Twenty-plus locations across four countries and five guest languages. Reviews were read manually and not everywhere, replies happened occasionally and in mixed languages, delivery storefront ratings slipped unnoticed, and an unhappy guest had no address other than the public listing. The owner was the last to know.

02

Solution

01
Built a single loop: every location under watch, each review entering with its original text and language
02
Per-review analysis: sentiment, topic, urgency, translation into the owner's language
03
A draft reply in the guest's language following approved brand scripts — with a strong model on exactly this step
04
Publication under the brand: by button or automatically, with the ability to rewrite what is already published
05
A private guest channel, plus a nudge when a message stays unanswered
06
Loyalty index per location, weekly and monthly summaries, storefront rating monitoring and brand mentions across four markets

03

Deep dive

Before the loop

The chain grew to roughly two dozen locations across four countries faster than its control layer. Reviews were read manually and not for every location — some listings had not been opened for months. Replies happened occasionally, depending on which manager had time that day.

The second gap was language. Guests write in Romanian, Russian, Ukrainian, English and Hungarian. Whoever could, replied — often in a mix of languages. For a premium brand that is worse than silence.

The third was the absence of a private channel. An unhappy guest had no address other than the public listing: anything that could have been solved in one message became a public rating instead.

What we built

One stream instead of a tour of listings. Every new review across the chain enters a single loop with its original text and language, is bound to a location and country, and passes deduplication. The owner sees a card in the messenger: location, rating, topic, text, translation.

A reply in the guest's language, by brand scripts. The draft is produced by a model tuned specifically for reply quality and follows agreed scripts: what to say about reservations, delivery, loyalty, sensitive topics. Contacts and facts are never invented — only what exists in the client's data.

A private channel. Every reply carries an invitation to write directly. The guest writes, the message reaches the owner, the answer goes back through the same channel. If a message sits unanswered beyond a set time, the loop nudges.

A management layer. A loyalty index per location, daily, weekly and monthly summaries, monitoring of delivery storefront ratings, and brand mentions across four markets' media — filtered against unrelated same-name brands.

What production taught us

A cheap model does not work for replies. The first version answered fast and empty. A reply is read as the face of the brand, so that one step runs on a strong model while utility tasks stay on a cheap one. Cost rose by pennies; quality changed categorically.

Do not alert on everything. The first configuration woke the owner on every five-star review. Now the messenger gets what needs attention and praise goes into the summary — otherwise alerts stop being read.

A recency gate is mandatory. The first run pulled the entire history — over a thousand reviews. Without a freshness limit that would have been a flood of hundreds of old records; instead everything was stored for deduplication and only fresh items triggered notifications.

Tone is calibrated during the silent run. A week with no publication, where the owner reads drafts and corrects wording, is worth more than any presentation: after it, the owner asks for auto-publication themselves.

04

Results

0+
Locations in one loop
0 / 5
Countries and languages
0 ч
Review → reply
0
Manual monitoring