DEV Community

Ishaan Chowdhury
Ishaan Chowdhury

Posted on

BriefBill: Turning Vague Client Briefs into Clear Freelance Quotes with Local Gemma 3

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

This is a submission for the Hacktoberfest Open-Source AI Challenge: Side Hustle

What I Built

BriefBill turns a messy client message into a clear freelance proposal with transparent pricing.

Freelancers get briefs like "need a website, maybe some posts too, budget is tight." Quoting from that is risky. You either undercharge or agree to work nobody defined. BriefBill helps in three ways:

  1. Reads the brief with Gemma 3 (4B), running locally through Ollama
  2. Calculates the price in plain Python. Hours × rate (or a fixed fee) plus a contingency %. The AI never does the math, so the numbers are always exact.
  3. Lists the unclear items in an "Items To Be Confirmed Before Work Begins" section, so unclear scope gets asked about instead of quietly included

You can edit the proposal in the app and download it as Markdown or JSON.

Demo

BriefBill runs locally (Streamlit + Ollama), so there's no hosted link.

Honest test results

I tested three realistic briefs:

Brief Pricing Scope safety What it showed
Accounting firm website ✅ ₹15,000 + ₹1,500 = ₹16,500 ✅ Flagged SEO, hosting and form handling Works well when the risky items are written out
Bakery logo + menu + printing ✅ ₹6,000 + ₹600 = ₹6,600 ⚠️ Asked about print method and quantity, but listed the "maybe" items as confirmed Hedge words like "maybe" weren't caught
Monthly YouTube editing ✅ ₹8,000 + ₹800 = ₹8,800 ❌ Didn't ask how many videos or reels, left "regularly" undefined, and gave a wrong date Recurring-work briefs need their own rules

The pricing was correct every time because Python handles it. Scope detection is where the model still needs help, and I'd rather show that than hide it.

Code

GitHub logo ishaanchowdhury1 / briefbill

Local AI assistant that turns vague freelance briefs into clear proposals and flags scope creep using Gemma 3.

BriefBill

Turn vague client briefs into clear freelance proposals — powered by Gemma 3.

BriefBill is a local AI proposal assistant built for freelancers, independent developers, designers, and video editors. It helps turn informal client messages into structured project proposals while highlighting missing requirements and potential scope creep.

Features

  • AI-powered brief analysis: Uses Gemma 3 through Ollama to analyse client requirements.
  • Scope-risk detection: Highlights ambiguous deliverables, missing details, and potential extra work.
  • Transparent pricing: Calculates the base fee and contingency allowance using Python.
  • Editable proposals: Review and refine the generated proposal before sharing it.
  • Export options: Download the proposal and structured analysis.
  • Local inference: When using Ollama locally, the brief is processed by the local model rather than a hosted AI API.

Tech Stack

  • Python
  • Streamlit
  • Ollama
  • Gemma 3 (gemma3:4b)

Run Locally

1. Install Ollama

Install Ollama from https://ollama.com/.

2. Download the model

ollama pull gemma3:4b
Enter fullscreen mode Exit fullscreen mode

3.

…

How I Built It

  • Model: Gemma 3 4B (gemma3:4b) via Ollama's local API (localhost:11434)
  • UI: Streamlit, all in one app.py
  • Design rule: the AI writes, Python counts. Gemma drafts the scope summary, questions and proposal text. Every rupee is computed in code and added as a "Pricing Breakdown" section.
  • Scope safety: the first test showed Gemma listing SEO and hosting as "included" when the client never asked for them. I added a section for items to confirm before work starts, and that fixed the first test case.
  • Next steps: detect hedge words (maybe, some, regularly, not sure, budget is tight), use the real current date instead of letting the model guess, and add rules for monthly or recurring work.

I chose a small 4B model on purpose: it runs on an ordinary laptop, which is what most freelancers have.

Why Does Open Innovation Matter?

Client briefs often include names, budgets and business details. Because BriefBill uses an open model running locally, none of that is sent to a third-party API. Each proposal costs nothing to generate, there's no account or subscription, and nobody is locked into one vendor. Anyone can clone the repo, read exactly how the price is calculated, and change it to suit their own way of working. Open tools let freelancers own their workflow instead of renting it.

Prize Categories

Best Use of Gemma. BriefBill runs Gemma 3 4B locally through Ollama to analyse briefs and draft proposals, and keeps pricing in deterministic code.

Top comments (0)