This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
What I Built
QuotePilot AI is an AI-powered quotation generator for freelancers, independent developers, designers, consultants, and small service businesses.
Preparing a quotation manually means turning a client's requirements into service line items, estimating prices, setting payment terms, and formatting a professional document. For freelancers handling multiple inquiries, this repetitive work takes time away from delivering projects.
QuotePilot turns a project brief into an editable quotation draft. It generates suggested services, quantities, indicative prices, payment terms, and notes. Users can edit the quotation, calculate totals, save drafts in their browser, and export the result as a PDF.
For example, a freelancer can enter a brief for a five-page business website and receive a structured starting quotation covering design, development, integrations, SEO, and deployment.
The intended users are freelancers and small agencies that regularly prepare client quotations and want to reduce the time spent formatting them.
AI-generated prices are estimates, not verified market rates. Users should review the scope, pricing, and terms before sending a quotation.
Demo
Live application: https://quotepilot-ai-two.vercel.app
Generated Quotation
PDF Export
Code
GitHub repository: https://github.com/aayushmalve/quotepilot-ai
The repository contains the application source, setup instructions, environment-variable example, and MIT license.
How I Built It
QuotePilot uses Next.js, React, TypeScript, Tailwind CSS, Zod, and jsPDF.
For AI-powered generation, I integrated NVIDIA's Nemotron 3 Nano Omni 30B-A3B Reasoning model through OpenRouter:
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free
The workflow is straightforward:
- A user enters a project brief.
- A server-side API route sends the generation request to the model provider.
- The model returns structured JSON containing proposed quotation details.
- The application parses and validates the generated data.
- The user reviews and edits the quotation before exporting it.
I also implemented browser-local draft persistence and PDF generation. The API credentials remain server-side rather than being exposed in client-side code.
The application uses hosted inference, not local inference. It relies on OpenRouter and its upstream providers, so free-tier capacity, rate limits, and availability can affect generation.
Why Does Open Innovation Matter?
For a small tool like QuotePilot, the cost and flexibility of the AI layer matter.
Using an open-weight model gives the project an alternative to depending exclusively on a proprietary model ecosystem. The application can experiment with compatible models through its provider configuration, while the rest of the quotation workflow remains separate from the model itself.
In the future, the model could potentially be self-hosted, fine-tuned, or replaced with another suitable model, subject to hardware requirements, implementation work, and licensing. That could give the project more control over inference costs and deployment choices as it grows.
There are trade-offs. QuotePilot currently depends on a hosted inference provider, and project information sent for generation is processed by that provider and potentially its upstream model provider. Open weights do not automatically guarantee privacy, unrestricted commercial use, or zero operating costs.
For me, open innovation makes it possible to build around a model that can be evaluated and potentially deployed in different ways, without making the entire product dependent on one proprietary model API.
What's Next?
The next priorities are improving resilience when the model provider is unavailable, gathering feedback from freelancers, and refining quotation quality based on real use.



Top comments (0)