DEV Community

Rahulrr
Rahulrr

Posted on

Review Reply: Answer Every Google Review in 10 Seconds, in 9 Indian Languages, with Gemma 4

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

Review Reply turns any Google review into three ready-to-post replies, short, standard and warm, in about 10 seconds, in the customer's own language.

It's for the small businesses on every Indian street: the mess, the salon, the clinic, the mobile shop. They live on Google reviews and almost never reply. Writing a good reply takes time they don't have, and a defensive reply to a 1-star review does more damage than silence.

How it works:

  • Paste a review, tap the star rating, get 3 replies. Copy one and paste it into Google.
  • Or import your whole Google Maps page. Copy the page, paste it in, and Review Reply fills in your business details and finds every review that has no "Response from the owner" yet. Then it writes replies for all of them in one go.
  • 9 languages, including how people actually write. English, Hindi, Tamil, Telugu, Kannada, Malayalam, Marathi, Bengali and Gujarati. A Tanglish or Hinglish review gets a Tanglish or Hinglish reply, not a stiff textbook one.
  • Safe replies for bad reviews. It apologises without arguing, points the customer to your phone number, never invents facts about your business, and never promises refunds or freebies unless you said it may.
  • A private note for the owner. If a review raises something to fix, like a staff complaint or a recurring wait, you get a heads-up to handle it internally, separate from the reply.

Who pays: small business owners, around ₹99/month. That price only works if each reply costs almost nothing to generate, which is why it runs on an open-weight model.

Demo

Try it live: https://review-reply-481.netlify.app

Tap one of the example reviews, add your business name, and hit "Write my replies".

Review Reply: reply to every Google review in 10 seconds

Google Maps import: unreplied reviews with drafted replies and a private note for the owner

Code

GitHub logo rahulrr-coder / review-reply

Reply to every Google review in 10 seconds — in English, Hindi, Tamil and 6 more Indian languages. Open-weight model.

Review Reply

Reply to every Google review in 10 seconds.

Live: https://review-reply-481.netlify.app

Review Reply

Small business owners (restaurants, salons, clinics, shops) get Google reviews and rarely reply, because writing replies is tedious and a bad reply to a 1-star review does more harm than no reply. Paste a review, pick the star rating and language, and get three ready-to-post replies (short, standard, warm). Copy one into Google Business Profile.

Import from Google Maps: copy your business page from Google Maps (select all, copy) and paste it in. The app fills in your business details and lists the reviews that have no "Response from the owner" yet, then writes replies for each. No Google account connection or API key needed. Star ratings aren't in Google's copied text, so they're estimated and you can correct them.

Status: works end to end locally. Tested so far against a temporary non-open model. Before submitting, switch .env…

SvelteKit 3 (Svelte 5) + TypeScript, deployed on Netlify. MIT licensed; the whole model layer is one file you can swap.

How I Built It

The model: Gemma 4, Google's open-weight model, called through the Gemini API. Every reply, every language and the Google Maps import run on it.

The architecture is built so the model is replaceable:

  • src/lib/server/llm.ts is the only file that knows which provider is used. It speaks two dialects with plain fetch (no SDKs): the Gemini API (for hosted Gemma) and any OpenAI-compatible endpoint, which covers Groq, OpenRouter, Together, and a local Ollama or vLLM server. Moving Gemma 4 from hosted inference to your own machine is a change to 3 environment variables.
  • Prompting for the job, not the demo. The system prompt carries the owner's profile (business type, tone, sign-off, contact number, what they're allowed to offer) and hard rules: mention one specific thing the customer said, never argue, never invent menu items or timings, never repeat personal details from the review, under 80 words. The review text is treated as untrusted data, so "ignore your instructions" inside a review does nothing.
  • Structured output with a safety net. The model returns JSON (sentiment, detected language, 3 replies, optional owner note). A small parser strips code fences, validates exactly 3 non-empty replies, and retries once if the model drifts.
  • Google Maps import without scraping. The official Business Profile API needs Google's approval, and the Places API returns at most 5 reviews with no reply status. So the owner copies their own Maps page and Gemma reads it: business name, category, phone, and which reviews have no owner response. Star ratings aren't in Google's copied text, so the model estimates them and the owner can correct them with one tap.
  • No database, no accounts. The business profile lives in the browser's localStorage. Reviews are never stored.
  • A smoke test for every language. One script sends 13 sample reviews (all 9 languages plus Tanglish and Hinglish) and a sample Google Maps page through the model and checks the output parses, comes back in the right language, and skips already-replied reviews.

Why Does Open Innovation Matter?

  • It makes the price possible. A ₹99/month tool for a tea shop can't carry the per-call price of a frontier closed model. An open model like Gemma 4 keeps the cost per reply low enough for the business to work.
  • The owner's data stays where they choose. Reviews and business details go to a model I picked and can move. The same code runs against Gemma on my own server, with nothing leaving it.
  • It can learn how India writes. Tanglish, Hinglish and regional phrasing are exactly where generic tools sound robotic. With open weights, the next step is fine-tuning Gemma on real owner replies in each language, which a closed API doesn't let you do.
  • No lock-in. If a better open model ships next month, switching is an environment variable, not a rewrite.

Prize Categories

Gemma: the whole product runs on Gemma 4.

Top comments (0)