This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
A customer sends a message:
“Hi! I need two beige wool carpets, size 6×9 feet. Can you share a quotation?”
For a small business owner, answering that question involves several steps: understanding the requirements, checking the catalogue, finding prices, calculating totals, and preparing a document.
I built QuoteCraft to bring those steps into one workspace.
QuoteCraft helps small sellers turn customer enquiries into editable, professional quotations. The first version uses a carpet business as its example, but the workflow could also serve furniture shops, printers, and other businesses with product catalogues.
Users can:
Manage products, specifications, and prices.
Store customer details.
Paste an enquiry and request a quotation draft.
Review matched products and edit quantities or rates.
Add custom line items.
Configure tax, payment terms, and delivery estimates.
Save quotations and track their status.
Export a quotation through the browser’s Save as PDF option.
Who would pay for it? A small business owner who prepares similar quotations repeatedly and wants to reduce manual entry while keeping control over the final price.
My initial business hypothesis is a paid setup and customization service, with ongoing support as an option. I haven’t validated willingness to pay yet.
Demo(frontend)
Demo link or video: https://quotecraft-rose-nine.vercel.app/
A sample walkthrough:
Open the product catalogue.
Paste a customer enquiry.
Generate a draft.
Review the products, quantities, and prices.
Save the quotation and export it as a PDF.
The app includes two distinct drafting modes:
Local AI mode: calls an open-weight model through Ollama.
Demo mode: uses simple keyword matching to test the application without a model.
Demo mode is not AI inference. A deployed frontend and backend still need access to an Ollama service for AI mode to work.
Code
The project repository: https://github.com/Anushkasharma101/quotecraft.git
The code is separated into frontend and backend folders so each can be developed and deployed independently.
How I Built It
QuoteCraft uses:
Frontend: HTML, CSS, JavaScript, and Vite.
Backend: Node.js with a JSON API.
Database: MongoDB for products, customers, quotations, and settings.
AI integration: Ollama, configured to use the open-weight qwen2.5:3b model.
The AI integration handles a specific task: interpreting an enquiry and suggesting catalogue product IDs and quantities.
The backend sends the enquiry and catalogue to Ollama and requests a structured JSON response. It then checks the returned product IDs and retrieves prices from the database.
The model interprets the message; application code calculates the money.
Subtotal, tax, and total are calculated by the backend. Users review the proposed items and can correct them before saving.
Saved quotations also contain snapshots of customer details and line items. Changing a catalogue price later does not automatically rewrite an earlier quotation.
One important lesson was keeping AI integration separate from deployment. Hosting the web application does not automatically host a local model. That led me to keep demo mode clearly labelled rather than silently falling back when AI is unavailable.
Why Does Open Innovation Matter?
For a small business tool, the choice of AI affects both operating costs and how much control the owner has.
Control over inference: With Ollama, the model can run on hardware controlled by the operator. The enquiry does not need to be sent to a closed model API for interpretation. Database privacy still depends on where MongoDB is hosted.
Flexible model choice: The integration is not tied to one model provider. I can experiment with another compatible model and evaluate whether it handles product specifications or customer language better.
A different cost structure: Self-hosting avoids a per-request model API charge. It still has hardware, electricity, or hosting costs, so I wouldn’t describe inference as free.
Room for niche improvements: A quotation assistant needs to understand a business’s catalogue, terminology, and missing requirements. An open approach gives me room to change prompts, validation, and eventually model adaptation around that specific workflow.
I haven’t benchmarked QuoteCraft against a closed API, so I’m not claiming better accuracy or speed. The practical benefit is the ability to build and inspect a quotation workflow around a model I can run and replace.
For me, QuoteCraft is a small, focused experiment: can an open-weight model help a seller spend less time preparing a quote while leaving the business decisions in their hands?
Top comments (0)