Customer story · Software & web development
How Stackwell Labs recovered $18,400 on one React Native contract and ended weekend crunch
A 35-person custom software agency caught four out-of-scope requests on a fixed-fee field inspection app, billed them as signed change orders, and cut unplanned weekend engineering hours by four fifths.
$18,400
in change orders signed on a single React Native app contract
- Company
- Stackwell Labs
- Team size
- 35 people
- Headquarters
- Austin, Texas
- Plan
- Agency
- recovered on the Ridgeway Utilities contract
- $18,400recovered on the Ridgeway Utilities contract
- of uncontracted engineering priced and approved
- 115 hrsof uncontracted engineering priced and approved
- unplanned weekend hours per month, first quarter
- 46 to 9unplanned weekend hours per month, first quarter
- change orders on the contract signed
- 4 of 4change orders on the contract signed
The challenge
What was going wrong
Stackwell Labs builds mobile and web applications for utilities, construction and field-services companies. Its contracts are fixed-fee with a capped number of QA rounds, a defined list of integrations and a written set of platform assumptions. VP of Engineering Priya Raman had a specific worry: the agency's best engineers were working weekends to cover requests that had never been priced.
The pattern was familiar to anyone who runs a dev shop. A client stakeholder mentions a new requirement in the shared Slack channel on a Thursday. A developer replies “should be quick”, opens a branch and discovers on Saturday that it touches authentication, offline storage and the release pipeline. The work ships, the client is pleased, and the hours quietly disappear into the fixed fee.
On the Ridgeway Utilities field inspection app (project code RWU-FIELD), a $96,000 React Native contract, Priya could already see the burn running ahead of delivered milestones by week four. The team suspected scope creep but could not point to specific requests with confidence, because the evidence was spread across Slack threads, Jira comments and pull request descriptions.
The approach
How Stackwell Labs rolled out TWINJAM
- 01
Parse the SOW into engineering rules
The RWU-FIELD SOW was parsed into 31 deliverables, 9 explicit exclusions and 12 technical assumptions, including email and password authentication only, online-first data capture, three staging QA rounds and a fixed list of report formats. The delivery lead reviewed the rules in about 12 minutes.
- 02
Watch Slack, Jira and GitHub together
TWINJAM monitored the shared client channel, the Jira project and the GitHub repository. Pull requests that touched modules outside the contracted architecture, such as a new local database layer, were correlated with the Slack messages that triggered them.
- 03
Price at the contract rate, send fast
Each accepted flag was estimated from comparable Jira history and priced at the contract's blended rate of $160 per hour. The PM edited the copy, attached the evidence pack and sent the change order through DocuSign, usually on the same day as the request.
Selected moments
What TWINJAM caught, and when.
A selection of the flagged requests that became change orders. Each one was reviewed and sent by a PM.
“Engineers want to say yes to clients. TWINJAM lets them say yes with a price attached, which is better for everyone, including the client.”
- Week 2
Client asks in Slack for Sign in with Apple and Google SSO.
The SOW assumption reads email and password authentication only. 26 hours.
Change order$4,160
- Week 5
A Jira ticket requests offline capture and background sync for inspection reports.
Flagged against assumption A-4 (online-first capture). 48 hours.
Change order$7,680
- Week 7
Client requests a branded PDF compliance export.
The SOW lists CSV and on-screen reports only. 22 hours.
Change order$3,520
- Week 9
A fourth staging QA round is scheduled.
The contract includes three. TWINJAM flags it before the round starts. 19 hours.
Change order$3,040
The results
All four change orders on RWU-FIELD were signed, for a total of $18,400 across 115 hours of work that would otherwise have been absorbed. The offline sync item, the largest at $7,680, was signed within two days because the evidence pack made the trade-off obvious: the client wanted the feature, and the SOW clearly assumed online-first capture.
Across the agency, unplanned weekend engineering hours fell from an average of 46 per month to 9 in the first quarter after rollout, measured from Toggl Track time entries outside business hours. Priya credits the change to timing. Requests are now caught when they are typed, so they enter the plan with hours and a price rather than landing on a developer's weekend.
Stackwell has since added TWINJAM to every new fixed-fee contract, and its sales team rewrote two standard SOW assumptions that the parser repeatedly marked as ambiguous.
“Our developers no longer get roped into weekend marathons for client favors. That alone changed how the team feels about fixed-fee work.”
Lessons for other agencies
What Stackwell Labs would tell you
- 01
Write technical assumptions as explicitly as deliverables. They are where most engineering creep hides.
- 02
Count QA rounds in the contract. A fourth round is one of the easiest change orders to explain.
- 03
Connect GitHub. Pull requests often reveal architecture changes before anyone mentions them in a ticket.
Stop delivering free software features on fixed-fee contracts.
Upload a live project SOW. We will show you the out-of-scope Slack requests your team is building for free right now.