<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SAYUJ SUR</title>
    <description>The latest articles on DEV Community by SAYUJ SUR (@sayuj_sur_).</description>
    <link>https://dev.to/sayuj_sur_</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4085422%2F423a123d-8809-4319-8aed-17f5f61d274d.jpg</url>
      <title>DEV Community: SAYUJ SUR</title>
      <link>https://dev.to/sayuj_sur_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sayuj_sur_"/>
    <language>en</language>
    <item>
      <title>I Built ScopePilot: An AI-Powered Proposal Generator Using Gemma 3 That Runs Locally</title>
      <dc:creator>SAYUJ SUR</dc:creator>
      <pubDate>Sun, 18 Oct 2026 14:41:47 +0000</pubDate>
      <link>https://dev.to/sayuj_sur_/i-built-scopepilot-an-ai-powered-proposal-generator-using-gemma-3-that-runs-locally-2136</link>
      <guid>https://dev.to/sayuj_sur_/i-built-scopepilot-an-ai-powered-proposal-generator-using-gemma-3-that-runs-locally-2136</guid>
      <description>&lt;p&gt;Freelancing isn't just about doing the actual work. Before a project even begins, freelancers often spend hours understanding client requirements, defining deliverables, estimating costs, planning milestones, and writing professional proposals.&lt;/p&gt;

&lt;p&gt;And the problem? A client brief is rarely perfect.&lt;/p&gt;

&lt;p&gt;Sometimes it's just a few sentences in an email. Sometimes it's a long document with unclear requirements. Turning that into a structured, professional proposal takes time that freelancers could spend doing paid work.&lt;/p&gt;

&lt;p&gt;I wanted to build something to make that process easier.&lt;/p&gt;

&lt;p&gt;Meet ScopePilot — a local-first AI-powered proposal and project-scoping assistant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ScopePilot transforms unstructured client briefs into structured, editable project proposals.&lt;/p&gt;

&lt;p&gt;It's designed primarily for:&lt;/p&gt;

&lt;p&gt;Freelancers who regularly prepare project proposals.&lt;/p&gt;

&lt;p&gt;Independent developers and designers.&lt;/p&gt;

&lt;p&gt;Small agencies and consultants.&lt;/p&gt;

&lt;p&gt;People starting their freelancing journey who need help defining project scope and pricing.&lt;/p&gt;

&lt;p&gt;Give ScopePilot a client brief, and it helps generate:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Project Analysis:&lt;/strong&gt;&lt;br&gt;
 Understands the client's requirements and objectives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Executive Summary:&lt;/strong&gt;&lt;br&gt;
 Creates a professional project overview.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Scope &amp;amp; Deliverables:&lt;/strong&gt;&lt;br&gt;
 Breaks the project into clear deliverables and exclusions.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Technology Recommendations:
** Suggests an appropriate technology stack.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;- Milestones &amp;amp; Timeline:&lt;/strong&gt;&lt;br&gt;
 Organizes the project into manageable phases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Pricing Breakdown:&lt;/strong&gt;&lt;br&gt;
 Provides indicative line-item estimates with deterministic calculations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Risks &amp;amp; Assumptions:&lt;/strong&gt;&lt;br&gt;
 Identifies potential challenges and assumptions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Clarification Questions:&lt;/strong&gt;&lt;br&gt;
 Highlights information that should be confirmed with the client.&lt;/p&gt;

&lt;p&gt;The generated proposal can be edited, selectively regenerated, saved locally, and exported as PDF or Markdown.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace a freelancer's judgment. It's to reduce the repetitive work involved in preparing a proposal while keeping the freelancer in control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Try the public interactive demo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://scopepilot-dccw64jmecdaxnjleyttdb.streamlit.app/" rel="noopener noreferrer"&gt;https://scopepilot-dccw64jmecdaxnjleyttdb.streamlit.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The public demo uses bundled sample proposals so visitors can explore the interface, edit sample content, and test exports without installing anything.&lt;/p&gt;

&lt;p&gt;Want to experience the actual AI generation?&lt;/p&gt;

&lt;p&gt;Run ScopePilot locally using Ollama and Gemma 3 1B. The local edition supports real AI-powered proposal generation without sending client briefs to an external LLM API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/sayuj5/ScopePilot" rel="noopener noreferrer"&gt;https://github.com/sayuj5/ScopePilot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is open source. You can explore the implementation, run it locally, and contribute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I Built It&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The central idea behind ScopePilot was to make open-weight AI the actual engine of the application, rather than adding an AI feature just for the sake of it.&lt;/p&gt;

&lt;p&gt;The AI Engine&lt;/p&gt;

&lt;p&gt;I chose Gemma 3 1B, running locally through Ollama.&lt;/p&gt;

&lt;p&gt;The application communicates with Ollama through its local REST API. The model processes client briefs through a structured generation pipeline.&lt;/p&gt;

&lt;p&gt;I use Pydantic schemas to validate the generated output and Python services to handle proposal generation, pricing calculations, validation, and storage.&lt;/p&gt;

&lt;p&gt;The model assists with understanding requirements and generating proposal content. Pricing calculations are handled deterministically in Python rather than blindly trusting the model's arithmetic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technology Stack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Model:&lt;/strong&gt; Gemma 3 1B&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local Inference:&lt;/strong&gt; Ollama&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend &amp;amp; Application Logic:&lt;/strong&gt; Python&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Interface:&lt;/strong&gt; Streamlit&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Validation:&lt;/strong&gt; Pydantic&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Storage:&lt;/strong&gt; Local JSON-based persistence&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PDF Generation:&lt;/strong&gt; ReportLab&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Testing:&lt;/strong&gt; Pytest&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy-First Dual-Mode Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the most important decisions was to preserve the local-first experience while making the project accessible to people who don't want to install anything.&lt;/p&gt;

&lt;p&gt;I implemented two operating modes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Local Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Real Gemma 3 1B inference through Ollama.&lt;/p&gt;

&lt;p&gt;Local proposal storage.&lt;/p&gt;

&lt;p&gt;Full proposal generation and editing.&lt;/p&gt;

&lt;p&gt;Section regeneration.&lt;/p&gt;

&lt;p&gt;PDF and Markdown exports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Cloud Demo Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Interactive public demonstration.&lt;/p&gt;

&lt;p&gt;Bundled sample proposals.&lt;/p&gt;

&lt;p&gt;Session-only editing.&lt;/p&gt;

&lt;p&gt;Sample PDF and Markdown exports.&lt;/p&gt;

&lt;p&gt;No Ollama connection or external LLM inference.&lt;/p&gt;

&lt;p&gt;No persistent visitor proposal storage.&lt;/p&gt;

&lt;p&gt;This distinction is intentional. The hosted demo is transparent about what it can and cannot do, while the complete AI experience remains available locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Does Open Innovation Matter?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For this project, open innovation isn't just a technology preference. It's part of the product's business model.&lt;/p&gt;

&lt;p&gt;Imagine a freelancer using an AI proposal generator for every new client. If every proposal requires a paid API request, the operating cost can become an ongoing expense.&lt;/p&gt;

&lt;p&gt;By using Gemma 3 1B locally, ScopePilot can generate proposals without depending on a metered cloud LLM API.&lt;/p&gt;

&lt;p&gt;There are three major advantages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Privacy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Client briefs can contain sensitive business requirements, budgets, internal processes, and project details. Local inference allows this information to stay on the freelancer's machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Cost Control&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once the model is downloaded, local inference doesn't require paying an AI API provider for every generation. This makes the core AI functionality more accessible to independent freelancers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Independence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ScopePilot doesn't depend on a single proprietary AI provider, its pricing changes, or its API availability. The model can be run locally, giving users more control over their tools.&lt;/p&gt;

&lt;p&gt;Open-weight models made it possible to build an AI-powered product that prioritizes privacy, affordability, and user control from the beginning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building ScopePilot taught me that integrating an AI model is only one part of building a useful AI product.&lt;/p&gt;

&lt;p&gt;The surrounding engineering matters just as much:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Validating unpredictable model outputs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keeping financial calculations deterministic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Handling unavailable local models.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Separating confirmed requirements from AI-generated assumptions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Designing a useful interface around AI-generated content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Making privacy a core architectural decision rather than an afterthought.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also learned that a good public demo doesn't necessarily need to expose a cloud AI endpoint. It can demonstrate the product honestly while preserving the full local experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prize Categories&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm submitting ScopePilot for:&lt;br&gt;
**&lt;br&gt;
Best Use of Gemma** — Gemma 3 1B is the core model powering local AI proposal generation.&lt;/p&gt;

&lt;p&gt;I'm also entering the overall Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.&lt;/p&gt;

&lt;p&gt;Built with Python, Streamlit, Ollama, and Gemma 3 1B.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sayuj5/ScopePilot" rel="noopener noreferrer"&gt;https://github.com/sayuj5/ScopePilot&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>hacktoberfest</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
