{"slug": "i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop", "title": "I built a support copilot for one-person shops that runs Gemma 4 on a laptop", "summary": "A developer built Little Kiln Support Copilot, a Python retrieval-augmented generation pipeline that drafts customer-support replies for one-person online shops using two open-weight Google Gemma models run locally through Ollama. The tool retrieves similar past cases above a similarity threshold and instructs the model to reuse the shop's own policies without inventing prices or deadlines, and it falls back to saying the owner will check when no case matches. Because everything runs on the owner's laptop, customer messages never reach a third-party AI API and each draft costs nothing to generate.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle](https://dev.to/challenges/hacktoberfest-week2-2026-10-12)*\n\nPicture a one-person online shop selling handmade ceramics. The owner makes the mugs, photographs them, packs them... and every evening answers the same emails: \"my mug arrived cracked\", \"my parcel is late\", \"can I get a refund?\". She already knows the answers. She just has to write them again, consistently, every single time.\n\n**Little Kiln Support Copilot** drafts those replies for her. You paste a customer message; it finds how *you* solved similar cases before and writes a draft that follows your own policies. You review it and send it.\n\n**Who would pay:** solo makers and small shops on Etsy, Shopify or their own site, for whom support eats hours but a full helpdesk subscription is overkill. Because everything runs on open models on the owner's laptop, there is no per-message AI bill, so a flat few euros a month (or a one-time setup fee) would be a sustainable price.\n\nThree real runs from the command line, for a sample shop called \"Little Kiln Ceramics\".\n\n**A broken vase.** The customer asks for their money back; the copilot recognizes a damaged item and applies the shop's damaged-item policy: free replacement within 2 days, no need to return the broken piece, a photo of the damage.\n\n**A late parcel.** It promises to check the tracking and offers the 10% discount code (SORRY10) the shop used in a similar case. Notice the \"In the past, we have offered...\" wording: a small model sometimes leaks internal phrasing, which is exactly why a human reviews every draft.\n\n**A question nobody asked before.** No past case is similar enough, so instead of inventing an answer, the draft says the owner will check.\n\nDraft replies to customer messages for one-person online shops, based on how *you* solved similar cases before. The AI runs on open models on your own laptop, so customer messages are never sent to a third-party AI API and every draft costs nothing to generate.\n\nBuilt for the [Hacktoberfest 2026 Open-Source AI Challenge, Week 2: Side Hustle](https://dev.to/challenges/hacktoberfest-week2-2026-10-12).\n\nIf you sell handmade products online on your own, a big part of your evenings goes into answering the same questions again and again: a parcel arrived broken, a delivery is late, someone wants a refund. You already know the answers. You just have to write them again, every time, in a consistent way.\n\nThe sample shop is **Little Kiln Ceramics**, a fictional one-person shop selling handmade ceramics.\n\nThe copilot is a small retrieval-augmented generation (RAG) pipeline in Python, built around two open-weight Google models running locally with Ollama:\n\n`<=>`) and keeps only those above a threshold.` e2b-it-qat` build, about 4 GB, runs on a laptop with no GPU) receives the message plus the retrieved cases, with instructions to use only those policies and never invent prices or deadlines.\nThree things I learned while testing:\n\nThis is my first hackathon. I work a lot with AI tools, so I paired with an AI assistant to move fast on the parts that were new to me: pgvector and local models.\n\nFor a side hustle, the economics decide everything, and open models change them:\n\nThe trade-off is honest: a bigger closed model might write smoother prose. But for drafts that a human reviews anyway, a free, private, local model is the better deal.", "url": "https://wpnews.pro/news/i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop", "canonical_source": "https://dev.to/devcarlat800/i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop-4bpc", "published_at": "2026-10-18 21:08:10+00:00", "updated_at": "2026-10-18 21:19:04.960873+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "generative-ai", "ai-tools", "ai-agents"], "entities": ["Google", "Gemma", "Ollama", "Little Kiln Support Copilot", "Little Kiln Ceramics", "pgvector", "Hacktoberfest", "Etsy"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop", "markdown": "https://wpnews.pro/news/i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop.md", "text": "https://wpnews.pro/news/i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop.txt", "jsonld": "https://wpnews.pro/news/i-built-a-support-copilot-for-one-person-shops-that-runs-gemma-4-on-a-laptop.jsonld"}}