ai newsDo., 15. Okt.
EilmeldungMeta and Apple team up to make Muse AI models run better on Macs

ScopeCheck: reviewing “one small change” with local open-weight AI

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle . What I Built “Could you add one more thing?” is a simple request with an awkward follow-up: was that thing part of the agreement? ScopeCheck is a browser-local scope review desk for freelance developers and de

dev.toDonnerstag 18:19 · 15.10.5 Min. Lesezeit
Bild: dev.to

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.

“Could you add one more thing?” is a simple request with an awkward follow-up: was that thing part of the agreement?

ScopeCheck is a browser-local scope review desk for freelance developers and designers. It puts incoming client requests beside the original agreed scope, uses an open-weight model to compare their wording, and helps the freelancer prepare a clear change conversation.

The app can suggest “Likely covered,” “Possible change,” or “Needs clarification.” A human decides what those suggestions mean for the project. ScopeCheck does not send client messages, invent billable hours, or decide contractual obligations.

The intended customer is an independent professional who needs a repeatable way to review small changes before doing the work. The commercial hypothesis is a $29 one-time, local-first tool, with no metered inference bill. That price is unvalidated. There are no claimed customers, sales, or measured time savings, and the challenge demo has no payment flow.

The opening project is explicitly fictional. It is there so you can explore the workflow without entering any client information.

To try it, start the local review and approve the model download. The first run needs an internet connection and roughly 120 MB of model, tokenizer, and runtime assets. Inspect the evidence for a request, change its decision if needed, and enter your own estimate. The Change brief view then produces a plain-text summary and an editable client-response template.

Desktop Chromium is the initial target. Mobile performance and Safari/Firefox support remain unverified. This is a working prototype with real model inference, not a promise of production reliability.

You can also serve the static dist directory locally. No build step, API key, backend, or app account is needed.

ScopeCheck uses cross-encoder/nli-deberta-v3-xsmall, an Apache-2.0 natural-language-inference model, through Xenova’s quantized ONNX conversion. Transformers.js runs single-threaded WASM inference in a dedicated browser worker.

For each request that passes the ambiguity and length checks, the model compares the original request against every agreed scope item. It returns three scores: entailment, contradiction, and neutral. Those scores help select relevant evidence and support cautious suggestions. The app shows exact source excerpts rather than generating an explanation that could invent an agreement.

Several choices came from the model’s mistakes:

In an exploratory test, a conditional promise to integrate Stripe produced about 99% entailment for an unconditional integration request. The score did not establish whether the condition had been met.

“One more revision” exposed a different problem: the model could strongly predict contradiction without knowing how many revision rounds had already happened. That missing project history matters more than a confident score.

These are general-English NLI scores, not probabilities of legal coverage. ScopeCheck retains them as inspectable evidence and keeps final decisions with the user.

The deployed GitHub Pages app was also checked in desktop Chromium on October 15. The model-download confirmation led to a completed local review: three sample requests were compared by the model, while the vague fourth request was held for clarification. The email-contact-form request showed 99.4% textual support.

The live-browser check also covered a human override, a two-hour estimate at the fictional sample rate of $85/hour, notes in the generated brief, clipboard copy verified by pasting, and the downloaded plain-text file. The $170 estimate and incomplete-estimate warning survived export, and an edited response survived navigation between views. These are smoke checks, not a full accessibility or cross-browser audit. Mobile, Safari/Firefox, offline behavior, and long-session reliability remain unverified.

Separately, the real quantized model ran on 27 handwritten premise/request pairs using both native ONNX CPU and single-thread WASM in Node. The highest-scoring labels matched across all 27 pairs. That checks runtime consistency on a small exploratory set; it does not establish accuracy on freelance agreements. The repository preserves the scores and failure cases.

Local inference changes the economics and the data boundary of this particular tool.

Client scope text does not need to be sent to an inference service. Project text stays in the tab’s memory, and the application includes no analytics or document upload. Closing or refreshing the tab loses that project text. Users explicitly copy or download the brief when they want to keep it.

There are still network requests for the app, inference runtime, and model files. Those providers receive ordinary request metadata, such as an IP address. Model files may remain in the browser’s cache, and offline operation is not guaranteed. “Local” should describe where the text is processed, without hiding those boundaries.

The open-weight approach also removes per-review API charges. It makes a one-time-purchase hypothesis worth testing, although customer demand and support costs are still unknown. The trade-off is a substantial first download and dependence on the visitor’s browser and available memory.

Finally, the model, conversion, runtime, and application logic are inspectable. Another developer can reproduce the failure cases, change the thresholds, or evaluate a different model. That is useful for a tool whose most important behavior may be admitting uncertainty.

An OpenAI coding assistant produced the implementation, testing, and this write-up autonomously. I authorized the project and uploaded the source for publication. This post is labeled Fully Autonomous. The AI used inside ScopeCheck is the open-weight NLI model described above. No customer interviews or firsthand customer outcomes are claimed.

The next validation step is to observe freelancers reviewing their own examples, measure whether the brief improves the conversation, and learn whether they would pay for it. The prototype establishes the workflow; it does not establish a business yet.

Quelle: dev.to (dev.to). Original öffnen