DEV Community

You Chen
You Chen

Posted on

ScopeSmith — an AI proposal generator that runs on a $0 local model

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

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

What I Built

ScopeSmith turns a messy client brief into a client-ready proposal in under a minute. Paste a rambling WhatsApp export, a half-formed Upwork message, a rambling email — you get back a structured proposal: scope of work, concrete deliverables, an explicit out-of-scope list, the top scope-creep risks with countermeasures, and freelancer-friendly payment terms (deposit, milestones, revision policy).

It's for freelancers, because freelancers lose money two ways: slow proposals and vague scope. A client sends a rambling message on a Tuesday night; the freelancer spends an evening turning it into a proposal, forgets to define what's out of scope, and three weeks later is doing unpaid "small tweaks" at midnight. One bad project costs more than a year of tooling.

Why would someone pay for this? The math is brutal and simple:

  • One saved project pays for a year. A single scope-creep disaster costs hundreds in unpaid hours. ScopeSmith's red-flag + out-of-scope sections exist specifically to prevent that.
  • Speed wins clients. Replying to an inquiry with a polished proposal in 10 minutes instead of 2 days measurably raises close rates.
  • It's a proven category. Bonsai and HoneyBook charge freelancers $20–40/mo for proposal + contract workflows. ScopeSmith is the fast, local, privacy-friendly wedge: client briefs never leave your laptop.
  • Obvious pricing: $12/mo solo, or $5 pay-per-proposal.

Demo

Video demo (32s):

No hosted demo yet — but here's a real end-to-end run, generated by the actual local model (Qwen2.5-1.5B-Instruct via Ollama) from a messy bakery-owner brief:

Input: "hey! saw your portfolio, love your style. so i run a small bakery in austin called Crumb & Craft and we desperately need a website… budget is around $2500-3000… launch before thanksgiving rush, so like 4-5 weeks?"

Output (excerpt):

Project Proposal: website

Prepared for: Crumb & Craft

2. Scope of Work

Deliverables: Homepage, Menu page, Online ordering system, Contact/order form

Out of Scope: Logo and photos (already provided), Domain/hosting setup (already handled)

3. Risks & Clarifications

  1. Scope Creep: The client may request additional features not initially included. Protect against scope creep: Clearly define the scope of work in the contract…

Run it yourself in one minute:

pip install -r requirements.txt
ollama pull qwen2.5:1.5b
python -m scopesmith --brief examples/brief_webdesign.txt --out proposal.md
Enter fullscreen mode Exit fullscreen mode

Code

Repository: [public link coming soon — code will be open-sourced on GitHub]

The project is a small Python package:

scopesmith/
  providers.py   # LLMProvider ABC + ollama / openai-compatible / mock backends
  prompts.py     # the four stage prompts + proposal renderer
  pipeline.py    # extract → scope → red flags → terms orchestration
  cli.py         # `python -m scopesmith` entry point
examples/        # three realistic messy client briefs (web, mobile app, copywriting)
outputs/         # generated sample proposals
Enter fullscreen mode Exit fullscreen mode

How I Built It

The key architectural decision: four small, single-job prompts beat one giant prompt — extract → scope → red flags → terms. That matters because ScopeSmith runs on small local models. The default qwen2.5:1.5b (~1 GB) follows tight instructions far better than sprawling mega-prompts, and the four-stage pipeline keeps each step's output structured enough for the next.

The model layer is a swappable provider interface: ollama (default, local open-weight models — qwen2.5:1.5b, llama3.1, gemma2), openai (any OpenAI-compatible endpoint: LM Studio, vLLM, llama.cpp server), and a deterministic mock provider that keeps the demo runnable with no model at all.

Why Open Innovation Matters

Three reasons, all load-bearing — not decorative:

  1. Privacy is the selling point. The raw material is someone else's business: a freelancer's client briefs contain pricing, timelines, and trade secrets. Running locally means those briefs never leave the laptop. No freelancer uploads their client's unreleased product plans to a stranger's API if they don't have to.
  2. The unit economics only work at $0 marginal cost. At $12/mo solo pricing, paying per-token API costs on every proposal generation eats the margin. A 1.5B local model costs nothing per run — that's what makes the side-hustle pricing viable.
  3. Swappability is the moat against lock-in. The provider interface means if a better small open model drops tomorrow, you swap one string. No re-architecture, no pricing renegotiation with a vendor.

Prize Categories

None — not built on partner technology. Entering the overall prize only.


Built October 14, 2026 for the DEV Hacktoberfest Open-Source AI Challenge, Week 2 (Side Hustle). AI belongs to everyone — including the freelancer trying to get paid fairly for every hour they work.

Top comments (0)