Customer story · Software & web development
How Northpaw Digital recovered $42,000 in unbilled engineering work in 60 days
A 48-person product engineering agency connected four fixed-fee client projects to TWINJAM and turned 300 hours of informal Slack requests into 14 signed change orders, without a single tense client call.
$42,000
recovered across 4 client projects in the first 60 days
- Company
- Northpaw Digital
- Team size
- 48 people
- Headquarters
- Pune, India
- Plan
- Agency
- billed through signed change orders
- $42,000billed through signed change orders
- change orders signed by clients
- 14 of 17change orders signed by clients
- of out-of-scope work caught before or during build
- 300 hrsof out-of-scope work caught before or during build
- median time from flag to client-ready change order
- 11 minmedian time from flag to client-ready change order
The challenge
What was going wrong
Northpaw Digital builds web platforms and mobile apps for logistics, healthcare and retail companies in the US and UK. Almost all of its work is sold as fixed-fee statements of work with a defined set of screens, integrations and acceptance criteria. On paper the model is healthy. In practice, Managing Director Karan Mehrotra could see the problem in every quarterly review: projects closed on time, clients were happy, and gross margin on fixed-fee work kept drifting below plan.
The leak was not one large dispute. It was dozens of small, reasonable-sounding requests. A client product owner would ask in a shared Slack channel whether the export could “also include the driver notes”, or whether the admin panel could “just get one more filter”. Developers, wanting to be helpful and not wanting to slow the sprint, would pick the work up. By the time a PM noticed, the code was merged and the conversation about payment felt awkward and late.
Northpaw had tried the usual fixes. PMs kept a scope log in a shared spreadsheet and were asked to compare new Jira tickets against the SOW every Friday. It worked for a few weeks on each project and then slipped, because the comparison was manual, the SOW lived in a PDF, and the requests rarely arrived as tickets in the first place.
The approach
How Northpaw Digital rolled out TWINJAM
- 01
Four live projects, one afternoon of setup
Northpaw started its 14-day trial on four active contracts: the Halvorsen Freight dispatch app (HFX-APP), a Mapleview Health patient portal, an Orchard Lane Shopify Plus rebuild and a Brisk Ledger finance dashboard. Each SOW was uploaded as a PDF and parsed into deliverables, exclusions, revision limits and technical assumptions. PMs spent about 15 minutes per contract reviewing the extracted rules before monitoring went live.
- 02
Private alerts, never client-facing
The TWINJAM bot was added only to the shared client channels Northpaw selected, with alerts routed to a private #pm-scope-alerts channel. Jira and GitHub were connected read-only so tickets and pull requests could be checked against the same boundary rules. Clients never saw an automated message.
- 03
PMs decide, the evidence does the talking
Every flag arrived with the Slack message, the matching SOW clause and an hour estimate based on similar tickets. PMs accepted, dismissed or marked each flag as in scope. Accepted flags became draft change orders priced at Northpaw's blended rate of $140 per hour, which the PM edited and sent through DocuSign.
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.
“The clause is right there next to the message. Nobody has to argue about memory or intent, so the conversation is about priorities and budget instead.”
- Day 3
Halvorsen Freight asks in Slack for live driver location sharing in the customer tracking view.
The SOW lists location updates at 15-minute intervals only.
Change order$9,800
- Day 9
Mapleview Health requests a second login path using hospital SSO.
The SOW assumes email and password with MFA.
Change order$6,720
- Day 21
A Jira ticket for bulk CSV product import on the Orchard Lane rebuild is tagged Scope drift against exclusion 4.2 (data migration tooling).
Change order$5,040
- Day 34
Brisk Ledger asks for two additional chart types in the board-level dashboard, beyond the six specified in Appendix B.
Change order$5,600
- Day 52
Halvorsen Freight requests a proof-of-delivery photo module.
The PM sends a change order the same afternoon and the client signs within a day.
Change order$7,000
The results
Within 60 days, Northpaw had sent 17 change orders across the four projects. Clients signed 14 of them, worth a combined $42,000: $16,800 on Halvorsen Freight, $11,200 on Mapleview Health, $8,400 on Orchard Lane and $5,600 on Brisk Ledger. Of the three that were not signed, two were deliberately absorbed by Northpaw as goodwill and one was folded into a later phase.
The bigger change was timing. Before TWINJAM, out-of-scope work was usually discovered after it had been built. In the first 60 days, 11 of the 17 flagged requests were caught in Slack before a ticket existed, which meant the conversation happened while the client was still deciding, not after the team had already said yes with their keyboards.
Karan's PMs also reported spending far less time on the Friday spreadsheet ritual. The scope log is now generated from accepted flags, so it is always current, and the PDF SOW is no longer something anyone has to open during sprint planning.
“We recovered $42,000 in unbilled engineering work across four client projects in our first 60 days. None of it was a fight.”
Lessons for other agencies
What Northpaw Digital would tell you
- 01
Start with your messiest live project, not a clean new one. The value shows up fastest where requests are already flowing.
- 02
Agree internally on a goodwill threshold. Northpaw absorbs anything under four hours and logs it, so clients still see the value.
- 03
Send the change order while the client is still excited about the idea. Speed reads as professionalism, not pressure.
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.