DEV Community

Sai Sri Madhav K
Sai Sri Madhav K

Posted on

Reply Desk: Review Replies for Small Businesses, Written Offline by Gemma 3 1B

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

Reply Desk is a small local web app that writes replies to customer reviews. You paste a review, optionally pick a star rating, and get a ready-to-post reply in your own voice, which you can edit and copy.

The person who would pay for it is a small business owner: a café, a salon, a repair shop, a dental clinic. They get reviews on Google and elsewhere, and they know they should reply, but writing a calm, specific answer to an angry one-star review at the end of a long day is hard. Review management tools exist, but they charge monthly fees that a small shop doesn't want to pay.

What it does:

  • Detects whether the review is positive, neutral, or negative (you can override it)
  • Writes a reply in a tone you choose (friendly, professional, apologetic) at a length you choose (short or medium)
  • Uses a saved Business Profile: business name, owner name, sign-off, tone notes, and a "things to never say" list (for example, never promise refunds)
  • Keeps a searchable history of past reviews and replies
  • Runs fully offline with no accounts, no API keys and no tracking

Demo

It uses a simple two-pane layout, with the review on the left and the editable reply on the right. I deliberately made it look like ordinary software (flat, quiet, one accent color) because I wanted it to feel like a tool you'd use every day, not a flashy AI demo.

![landing page of reply desk]tps://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/rtp0rt2a23i3ifd3vbkb.png)

Business Profile Page

Code

Reply Desk

Paste a customer review. Get a ready-to-post reply in your voice. Runs on your own computer.

Reply Desk is a privacy-first, local review reply generator designed for small business owners—cafes, hair salons, auto repair shops, dental clinics, and local stores—who dread writing review replies or don't want to pay monthly SaaS fees.

Built from scratch for the DEV Hacktoberfest Open-Source AI Challenge Week 2 (Theme: Side Hustle), powered by open-source AI running completely on your local machine using Ollama and Gemma 3 1B.

Reply Desk Interface


Key Features

  • Split-Screen Utility Layout: Clean two-pane interface—customer review and controls on the left, live generated reply on the right.
  • Auto-Detected Sentiment: Automatically classifies review sentiment as Positive, Neutral, or Negative, with full manual override.
  • Star Rating Aware: Select 1 to 5 stars as context hints for tone and sentiment.
  • Tone & Length Customization: Choose between…

To run it you need Node.js and Ollama:

ollama pull gemma3:1b
git clone https://github.com/madhav-1204/Reply-Desk.git
cd Reply-Desk
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode

Then open http://localhost:3000.

How I Built It

Model: Gemma 3 1B (open weights) running locally through Ollama. The whole app talks only to localhost:11434.

Stack: Node.js and Express on the backend, plain HTML/CSS/JS on the frontend, and a local JSON file for the profile and history. Replies stream into the box as they are generated.

I picked the 1B model on purpose. It's about 800 MB and runs on an ordinary laptop, which is realistic for a small business owner. The downside is that a model this small is easy to confuse, so most of the work went into the pipeline around it. Each reply goes through three steps:

  1. Sentiment classification. A very short few-shot prompt at low temperature that returns a single word: positive, neutral or negative. The star rating is used as a hint and as a fallback if the model's output is unclear.
  2. Constrained reply generation. The prompt combines the business profile, tone, length and sentiment with a few matched examples. It also carries hard rules: only mention details that appear in the review, never promise refunds or discounts, never admit legal fault. Negative reviews follow a fixed structure of thanking the customer, apologizing, addressing the specific complaint, and inviting them to continue offline.
  3. Post-processing. The code removes preambles like "Here is your reply:", strips quotes and markdown, enforces the sentence limit, and adds the owner's sign-off.

What I learned: with a small model, a good prompt and a clean post-processing step matter more than the raw model.

Why Does Open Innovation Matter?

Reviews are not as harmless as they look. They mention customer names, staff, bills and disputes. A closed API would mean sending all of that to someone else's server for every reply. With an open-weight model running locally, none of it leaves the machine.

It also changes the economics. Tools in this space charge small businesses a monthly fee, and API-based apps charge per request. With a local model, a reply costs nothing, so a one-person shop can use it as much as it likes with no subscription, no quota and no billing surprise. It works with the internet down too.

Finally, open weights let me control the behavior. I could tune the prompts and rules for exactly this task, and the model name is a single config value, so a shop with a better computer can swap in a larger Gemma by changing one line. A closed API gives you none of that.

Prize Categories

  • Best Use of Gemma: the entire app is built around Gemma 3 1B running locally through Ollama.

Top comments (0)