Articles/AI Implementation

Scoper: Scoping a Confidential Tender on Local Models

LLM InfrastructureTool Spotlight
By Vanya SmytheOctober 16, 20264 min readVerified Oct 16, 2026
scoper(primary)
scoperollamalocal-llmrfpestimatingmulti-agentdata-sovereignty

Read what Scoper is

Scoper is a small open-source tool, published under the MIT licence by Srikanth Panchavati as the GitHub user parallelromb, that turns a request for proposal into a scoped estimate by passing it through a chain of language-model agents. It is young: the repository was created on 13 April 2026, its last commit landed on 29 April 2026, and on 17 October 2026 it had 13 commits, no stars, no forks and no releases. The history shows a rename from ARIES to Scoper on 16 April and a repositioning towards 'agency RFP-to-SOW' work the next day, and the co-author trailers show that Claude Code wrote much of it.

The stack is ordinary and easy to run. A Python FastAPI backend keeps its state in SQLite, a React and Vite frontend draws the pipeline on a React Flow canvas with 28 node types and 5 templates, and the whole thing starts with one command on port 8005. The login accepts any username and asks for no password. The host binds to 0.0.0.0, so on a shared office network the tool, and every tender loaded into it, is open to anyone who finds the port.

Count the agents that run

The README talks about nine agents, and nine persona files do sit in the repository: ARIA for requirements, NOVA for estimation, SENTINEL for security, ATLAS for architecture, CHRONOS for scheduling, ORACLE for history, NEXUS for integration, PRISM for quality and FORGE for DevOps. The Standard template runs only four of them, ARIA, NOVA, CHRONOS and PRISM, and leaves the other five to the Enterprise template, with NOVA producing the phases, the hours per role and the risks in a single prompt. Thirteen skill files sit underneath, among them a document parser, a requirement extractor, an effort calculator, a cost estimator, a risk scorer and a schedule builder.

Check the claims against the code

Three claims need correcting. The README promises an estimate in 'two minutes'; I have not timed it, nobody has published a timing, and the client allows each model call 120 seconds, so a four-agent chain could take longer than the claim. The author's own launch draft puts the accuracy 'within 20-30%' 'in my testing', which is an honest hedge on one person's trials rather than a measurement anyone can repeat.

The output is not a statement of work. Scoper returns a JSON estimate that it shows in its interface. The registry lists report, Excel and HTML export nodes, but I found no backend code that renders any of them, and the 'backend/services/' directory the README names does not exist.

There is no rate card either. Configuration is sixteen environment variables, and the cost estimator hardcodes its hourly rates inside a prompt: $150 for a senior developer, $160 for an architect, $90 for QA. Those are a software agency's roles. An engineering firm bidding a standby DC system has none of them, and a rate that lives in a prompt has no history anyone can audit.

Keep the documents on the host

The part that matters for confidential tenders holds up. The example environment file sets the provider to Ollama and the model to gemma3:27b, and telemetry is off by default. The same client can call OpenAI and Anthropic, though, so 'the tender never leaves the host' stays true only as long as somebody keeps the provider set to Ollama and checks that it stays there.

Add what a bid needs

The solution I would build on Scoper starts where it stops. A tender for a substation battery replacement goes through the Standard chain on a local model: ARIA extracts the requirements and flags the scope marked 'to be confirmed' or the clause that leaves disposal of the old cells to 'the contractor', NOVA drafts the phases, hours and risks, CHRONOS lays out the programme and marks any timeline that assumes a substation outage nobody has booked with the network operator, and PRISM writes the acceptance criteria. I would replace the prompt's rates with a version-controlled rate file the firm owns, with its own roles and its own contingency, so every change to a rate has an author and a date. I would pin the provider and test the pin on every start. And I would add the step Scoper lacks, a statement-of-work template filled from the JSON, which a named engineer then prices, edits and signs; the model drafts, the engineer commits the firm.

See the design, its diagram and the demo at the solution. Scoper does the reading; the bid is still the firm's to sign.

Subscribe to engineering insights

Get notified when we publish new technical articles.

Topic:LLM Infrastructure

Unsubscribe anytime. View our Privacy Policy.