ai newsMo., 19. Okt.
EilmeldungPruning Redundant API Prompt Tokens with Tree-Sitter in Rust for AI CLI Agents

SoloOps AI: a local AI that catches the free work clients sneak into your project

This is a submission for the Hacktoberfest Open-Source AI Challenge: Side Hustle . What I Built Every freelance developer knows this message: "Can you also add login with WhatsApp OTP? Customers keep forgetting passwords." It sounds small. You say yes, you build it, and you never bill it. That's sc

dev.toMontag 03:03 · 19.10.3 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: Side Hustle.

Every freelance developer knows this message:

"Can you also add login with WhatsApp OTP? Customers keep forgetting passwords."

It sounds small. You say yes, you build it, and you never bill it. That's scope creep, and for a solo developer it is the most common way money disappears.

SoloOps AI is an open-source operations assistant for solo freelance developers and small freelance teams. It links every piece of work to an approval and an invoice:

Client → Project → Requirement → Change Request → Approval → Task → Billable Work → Invoice

When a client message arrives, a local open-weight model ( qwen2.5:7b on Ollama) compares it with the requirements the client already agreed to. It answers one question: is this new, paid work, or is it already covered? It must prove that answer by quoting both the client's message and the agreed requirement word for word. Then a human decides.

A freelancer pays for this in money they currently lose. As an illustration (my own numbers, not a survey), at ₹1,500/hour:

Catching even one such request a month pays for any tool. SoloOps itself costs ₹0. It's MIT-licensed, has no paid tiers, and runs its AI on your own machine with no API bill. The side hustle it protects is yours: it turns "sure, I'll just add that" into an approved, priced change request and an invoice line.

The video is a real run with no mock AI. On the left is the app. On the right is a live panel showing ollama ps and the raw JSON returned by qwen2.5:7b for each request, captured by a logging proxy between the app and Ollama.

1. A request that is already agreed. The client asks "customers will sign in with email and password, right?" The model quotes REQ-1, and SoloOps shows Likely already covered with the proof:

2. A request that is new work. WhatsApp OTP login has no matching agreed requirement, so the result is New scope: extra work to propose and price.

The raw model output for that second request, as returned (3.8 s, on an RTX 4070):

{ "clarifiedDescription": "Add the ability for customers to log in using WhatsApp OTP in addition to email and password.", "effortHours": { "low": 10, "likely": 20, "high": 50 }, "questionsForClient": [ "Do you have any specific security or privacy concerns related to WhatsApp OTP implementation?" ], "scopeAssessment": { "verdict": "NEW_SCOPE", "rationale": "The request introduces a new authentication method which is not covered by the existing requirements.", "asks": [{ "quote": "Can you also add login with WhatsApp OTP?", "citations": [{ "requirementKey": "REQ-1", "relation": "RELATED", "quote": "Customers sign in with email and password" }] }] } } Enter fullscreen mode Exit fullscreen mode The model linked the request to REQ-1 as related, not covered. SoloOps shows exactly that: "Related to (does not cover it) REQ-1".

(I trimmed some fields for length. Notice the effort range: 10 to 50 hours is wide. That's why a person confirms the effort before anything is priced.)

After that, the video goes through the full workflow:

Open-source operations assistant for freelance software developers and small teams. It connects requirements, change requests, client approvals, delivery tasks and invoice drafts in one traceable workflow, so unapproved scope never gets built or billed by accident.

Client → Project → Requirement → Change Request → Approval → Task → Billable Work → Invoice Draft Project status: release candidate. M1–M5 plus workspace members (FR-004) and the AI scope check (FR-021) are implemented and pass the full local test suite. The repository is published, and both CI jobs passed on 2332a69, which includes the scope check and members ( run ). Still open: a manual development-server and browser run ( release audit §14 ). Working and tested: registration, sign-in, sessions, workspace isolation, members, billing settings, clients, projects, requirements, scope baselines, tasks, change requests with immutable hash-bound versions, an evidence-bound AI scope check, recorded client decisions, tasks from approved …

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