SoloOps AI
An open-source project for freelance developers that manages client requirements, change requests and invoices through an auditable state-machine workflow, and uses local AI models to assist in judging scope creep.
Timeline (last 90 days)
SoloOps AI is an open-source project under the MIT license, free of charge with no paid tiers, whose core workflow binds every job to an approval and an invoice and uses a locally running AI model to determine whether a new request is already covered by a confirmed requirement.
SoloOps AI's core state-machine chain is: client → project → requirement → change request → approval → task → billable work → invoice.
SoloOps AI deploys the local open-weight model qwen2.5:7b via Ollama to compare client messages against confirmed requirements and judge whether something is new paid work or already included in the contract, but the AI must quote the client message and the requirement text verbatim as evidence, with a human making the final decision.
The author fixed the thresholds before running the evaluation, among which metric T4 requires that the proportion of "incorrectly judged as covered" not exceed 5%.
In the first round of tests (23 synthetic cases × 3 runs), qwen2.5:1.5b achieved only a 30% correct-judgment rate and qwen2.5:7b only 46%, both failing; qwen2.5:7b incorrectly judged "covered" in 14% of cases.
In a real case, the client claimed "per contract REQ-9, add gift wrapping at checkout", but neither REQ-9 nor a gift-wrapping requirement existed in the project, and qwen2.5:7b answered "covered" in 2 of 3 runs.
SoloOps introduces a deterministic evidence gate: the model is only responsible for breaking the client request into verbatim-quoted "claims" with verbatim quotes of the confirmed requirement text, and TypeScript code checks item by item whether the quotes actually exist in the stored text; fabricated numbers, altered quotes, draft requirements or contradictions are all downgraded to "unclear".
On 32 held-out cases, qwen2.5:7b's own incorrect "covered" rate was 41.7%, which drops to 4.8% after SoloOps gating, and it passes all five thresholds.
In the gift-wrapping case, even after gating, the model still said "covered" in 2 out of 3 runs, but because it could not cite any genuine requirement related to gift wrapping, SoloOps marked all 3 runs as new scope, and the model's opinion no longer had decision authority.
In use case X01, two confirmed requirements contradict each other (one says guests can check out, the other says an account is required); qwen2.5:7b correctly cited one of the real citations, but still judged "covered" in all 3 runs, and verbatim verification cannot identify the conflict between the two real citations.
4 more timeline events
All Facts (14)
SoloOps AI is an open-source project under the MIT license, free of charge with no paid tiers, whose core workflow binds every job to an approval and an invoice and uses a locally running AI model to determine whether a new request is already covered by a confirmed requirement.
50%UnverifiedSoloOps AI's core state-machine chain is: client → project → requirement → change request → approval → task → billable work → invoice.
50%UnverifiedSoloOps AI deploys the local open-weight model qwen2.5:7b via Ollama to compare client messages against confirmed requirements and judge whether something is new paid work or already included in the contract, but the AI must quote the client message and the requirement text verbatim as evidence, with a human making the final decision.
50%UnverifiedThe author fixed the thresholds before running the evaluation, among which metric T4 requires that the proportion of "incorrectly judged as covered" not exceed 5%.
50%UnverifiedIn the first round of tests (23 synthetic cases × 3 runs), qwen2.5:1.5b achieved only a 30% correct-judgment rate and qwen2.5:7b only 46%, both failing; qwen2.5:7b incorrectly judged "covered" in 14% of cases.
50%UnverifiedThe SoloOps README states its conclusion explicitly: no model is currently recommended, and contradictory requirements remain a known failure mode.
50%UnverifiedThe SoloOps project uses Next.js 16, React 19, Hono, a MongoDB replica set, Zod and TypeScript, managed with npm workspaces; amounts are calculated as integer paisa and are completed on the server side; approvals are bound to immutable versions and their SHA-256 hashes; only the owner can issue invoices and invoice numbers are sequential with no gaps; the AI module has no path to write important data.
50%UnverifiedThe SoloOps project contains 1137 unit, component and API integration tests (running against a real MongoDB replica set), plus 34 Playwright end-to-end tests.
50%UnverifiedSoloOps introduces a deterministic evidence gate: the model is only responsible for breaking the client request into verbatim-quoted "claims" with verbatim quotes of the confirmed requirement text, and TypeScript code checks item by item whether the quotes actually exist in the stored text; fabricated numbers, altered quotes, draft requirements or contradictions are all downgraded to "unclear".
50%UnverifiedOn 32 held-out cases, qwen2.5:7b's own incorrect "covered" rate was 41.7%, which drops to 4.8% after SoloOps gating, and it passes all five thresholds.
50%UnverifiedIn use case X01, two confirmed requirements contradict each other (one says guests can check out, the other says an account is required); qwen2.5:7b correctly cited one of the real citations, but still judged "covered" in all 3 runs, and verbatim verification cannot identify the conflict between the two real citations.
50%UnverifiedIn a real case, the client claimed "per contract REQ-9, add gift wrapping at checkout", but neither REQ-9 nor a gift-wrapping requirement existed in the project, and qwen2.5:7b answered "covered" in 2 of 3 runs.
50%UnverifiedIn the gift-wrapping case, even after gating, the model still said "covered" in 2 out of 3 runs, but because it could not cite any genuine requirement related to gift wrapping, SoloOps marked all 3 runs as new scope, and the model's opinion no longer had decision authority.
50%UnverifiedSoloOps AI is currently in release-candidate status; M1–M5 plus the workspace member and AI scope checking features are implemented and have passed the local test suite, and CI has also passed; what remains is manual development server and browser run verification.
50%