{"slug": "quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-and", "title": "QuoteCraft: an offline AI that turns messy client WhatsApps into instant quotations and scopes", "summary": "A developer built QuoteCraft, an offline web app that converts messy client WhatsApp and Instagram messages into itemized quotations, scope-of-work documents, and ready-to-send replies in roughly 15 seconds. The tool runs entirely on a laptop using the open-weight Llama 3.2 model via Ollama, avoiding cloud APIs, per-token costs, and the exposure of confidential client details to third-party services. Outputs include an editable deliverables table with days and INR pricing, an exclusions list, a WhatsApp-formatted reply, and a print-ready quotation sheet.", "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\nIf you do any freelance work, consulting, or run a small service business, you know this exact message. It arrives on WhatsApp or Instagram DM at 10 PM:\n\n*\"hi vikram! need a landing page for our boutique bakery in dehradun with menu, photo gallery, online order enquiry form connected to whatsapp, and google maps location. we have logo and photos ready. how much will this cost and can we get it before diwali? also need 3 revisions and basic seo.\"*\n\nClients don't send neat requirement specifications. They send messy, conversational thoughts.\n\nAnd that puts freelancers in a bad dilemma:\n\nQuoting tools like PandaDoc or HoneyBook charge **$19 to $49 every single month**. For a solo freelancer starting out, that is a huge recurring bill. Worse, pasting confidential client ideas, client phone numbers, and private business budgets into third-party cloud AI APIs can violate client NDAs and privacy.\n\nSo I built **QuoteCraft**: a small, fast local web app that turns messy client WhatsApp messages into an itemized quotation, a scope-of-work, and a ready-to-send WhatsApp reply in about 15 seconds.\n\nIt runs **100% on a laptop** using a local open-weight model (**Llama 3.2 via Ollama**). Zero cloud APIs, zero per-token cost, and confidential client details never leave your machine.\n\nHere is how QuoteCraft handles that real WhatsApp message for a boutique bakery in Dehradun:\n\nQuoteCraft parses the message and builds a clean deliverables table with realistic timelines and pricing:\n\n| Deliverable | Estimated Days | Estimated Cost (INR) | \n|---|---|---|\n| **UI/UX Design & Responsive Layout** — Mobile-first modern design matching bakery aesthetic | 3 Days | ₹ 7,500 | \n| **Digital Menu & Photo Gallery** — Filterable categories with high-res photo showcase | 2 Days | ₹ 5,000 | \n| **WhatsApp Order Integration & Maps** — Direct one-tap ordering & Google Maps embed | 2 Days | ₹ 4,500 | \n| **On-Page SEO & Speed Optimization** — Local search optimization & 90+ Lighthouse speed | 1 Day | ₹ 3,000 | \n| **Total Estimated Investment** | **8 Days** | **₹ 20,000** | \n\nEvery row is **interactive and editable**. If you want to change a price, adjust days, or add a custom task, you can edit it right in the table, and the total recalculates automatically.\n\nThis is what freelancers usually forget to write, and what costs them money later. QuoteCraft automatically specifies what is **not** included:\n\nFreelancers don't want to copy a rigid 5-page PDF into a chat. QuoteCraft generates a polite, friendly WhatsApp message pre-formatted with bold tags (`*text*`) and emojis:\n\n```\nHi Anita! 🧁 Thanks so much for reaching out.\n\nI'd love to build the landing page for your bakery in Dehradun! Here is a quick quotation and timeline:\n\n*Scope:*\n• Custom mobile-friendly design with your logo & photos\n• Interactive menu & photo gallery\n• Direct WhatsApp ordering button (customers tap to order)\n• Google Maps location & local SEO\n• 3 review rounds included\n\n*Timeline:* 8-10 business days (well before Diwali! 🪔)\n*Total Investment:* ₹20,000 (40% advance to start)\n\nDoes this work for you? If yes, I can share the invoice and get started this Wednesday! 🙌\n```\n\nYou hit **\"Copy WhatsApp Reply\"**, paste it into your chat, and you are done in 30 seconds.\n\nFor formal corporate clients who need a paper trail, hitting **Print** renders an elegant, print-ready quotation sheet with quote reference ID, date, your business header, payment terms, and signature line.\n\n**Turn messy client WhatsApp messages into professional quotations, scope-of-work, and ready-to-send replies in seconds.**\n\n*A local, privacy-first AI tool built for freelancers, solo agencies, and small service businesses.*\n\nEvery freelancer, solo developer, designer, photographer, and local business owner knows this pain:\n\nA client sends a rambling, messy message on WhatsApp or Instagram at 10 PM:\n\n*\"hey bro need website for my bakery in dehradun with online menu, photo gallery, online order enquiry form connected to whatsapp, and google maps location. we have logo ready. how much will this cost and can we get it before diwali? also need 3 revisions and basic seo.\"*\n\nResponding takes **30 to 60 minutes** of tedious work:\n\nBecause writing…\n\nThe entire app is **one Python file** (`app.py`), using only Flask and Python's standard library (` urllib`, `json`, `re`). It requires **zero API keys** and zero external services.\n\n**The stack:**\n\n| Part | What I used | \n|---|---|\n| Brain / Extraction & Pricing | **Llama 3.2 (3B)** running**locally** via[Ollama](https://ollama.ai) | \n| Web Application | Python 3.10 + Flask (single file, lightweight) | \n| Structured Output | Strict JSON schema enforced by Ollama's `format` parameter | \n| UI & Offline Export | Clean vanilla HTML5, CSS3 responsive grid, print stylesheet | \n| Local Storage | Local `quotes.json` file for private history log | \n\nI built and tested all of it on a normal laptop: **Ubuntu, 15 GB RAM, and no GPU.**\n\nSmaller open models can sometimes add conversational chatter (*\"Sure, here is your quotation:\"*) or hallucinate keys. To make the UI 100% reliable, I used Ollama's structured output format:\n\n```\npayload = {\n    \"model\": \"llama3.2\",\n    \"messages\": [\n        {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n        {\"role\": \"user\", \"content\": user_message}\n    ],\n    \"format\": QUOTE_SCHEMA,  # Enforces exact JSON keys\n    \"options\": {\"temperature\": 0.2}\n}\n```\n\nSetting `temperature: 0.2` keeps the pricing estimates and deliverable breakdown consistent and grounded.\n\nIn the system prompt, I made \"Out of Scope\" a mandatory output field. If the client asked for a website, Llama 3.2 proactively flags domain hosting, photo shoots, and extra revisions as out of scope. That single design decision transforms the app from a generic text generator into a real business tool.\n\n`timeout=300` on the HTTP request so it never aborts prematurely during the first load. Once in memory, subsequent queries run much faster (~15-20s).`format: json`, some model variations wrap output in\n```` ``` json ... ``` ````\n. I added a small regex cleaner to strip markdown code blocks before calling `json.loads()`.`@media print` style. The entire app loads instantly even with airplane mode turned on.\nFor QuoteCraft, open-source AI is not just a nice feature — **it is the only reason this tool makes commercial sense**:\n\n**Client Confidentiality & Privacy (No NDA Breaches)**:\n\nWhen freelancers quote for startups or local businesses, clients share unreleased product details, secret business ideas, customer figures, and personal phone numbers. Uploading that to third-party cloud AI APIs creates legal and privacy risks. With open weights running locally, **not a single byte leaves the freelancer's machine**.\n\n**$0.00 Running Cost Makes the Side Hustle Viable**:\n\nClosed quoting platforms charge \\$20 to \\$50 per month. If a freelancer is just starting out or only bids on 3 projects a month, paying \\$300+/year in SaaS fees is painful. Open models like Llama 3.2 cost **nothing to run**. 1 quote or 1,000 quotes costs \\$0.00.\n\n**Total Independence from Cloud Pricing & Changes**:\n\nClosed API providers frequently deprecate model versions, hike pricing, or impose rate limits. Open-weight models are permanent assets: they will run on this laptop today, tomorrow, or 5 years from now.\n\n**100% Offline Capability**:\n\nFreelancers frequently work from trains, cafés, or places with spotty internet. Because Llama 3.2 runs locally through Ollama, QuoteCraft works with zero internet connection.\n\nClone the repo, run `python3 app.py`, and test it with your own messy client chats:\n\n👉 [GitHub Repository: VIKRAM-009/quotecraft](https://github.com/VIKRAM-009/quotecraft)\n\nThanks for reading! If you have ever lost a weekend to client scope creep, give local open-weight AI a shot. 🚀", "url": "https://wpnews.pro/news/quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-and", "canonical_source": "https://dev.to/vikram_rautela_vr/quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-quotations-and-scopes-2ka1", "published_at": "2026-10-19 05:44:32+00:00", "updated_at": "2026-10-19 05:48:22.246768+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "ai-products"], "entities": ["QuoteCraft", "Ollama", "Llama 3.2", "WhatsApp", "Hacktoberfest", "PandaDoc", "HoneyBook"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-and", "markdown": "https://wpnews.pro/news/quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-and.md", "text": "https://wpnews.pro/news/quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-and.txt", "jsonld": "https://wpnews.pro/news/quotecraft-an-offline-ai-that-turns-messy-client-whatsapps-into-instant-and.jsonld"}}