A commercial pricing engine across Salesforce, Django, Slack, Ironclad, Redshift, and Hightouch — shipped from architecture to production in eight weeks. First month: $5.3M processed, $1.1M in leakage surfaced. Then I made the case for the architectural rewrite that's reshaping our roadmap.
Instawork runs a marketplace where businesses book hourly workers across the country. The commercial side of that business — pricing, approvals, contracts, exceptions — is where the most consequential decisions get made. Whether a deal is profitable. Whether a customer comes back. Whether the system can scale.
In March 2024 I joined as the solo RevOps engineer. The brief: build the system that governs how those decisions get made. Approvals, pricing rules, exception handling, the queue, the writeback, the measurement. End to end.
What I inherited was the opposite of a system. Pricing requests were submitted with no evaluation, no floor enforcement, and no structured routing. Managers reviewed them over Slack with no audit trail, no SLA, and no reliable way to confirm an approved rate ever made it into production.
The pipeline runs across six systems with one human decision point. A deal enters as a sales request and exits as a live production rate, a forecast record, and a full audit trail.
The system pre-fills MSA terms, current rate card, and account history. Rep selects positions, markets, and proposed rates.
Apex evaluates every line against 51 state-specific pricing floors, 21 markup tiers, MSA rates, and payment terms — all driven by admin-configurable rules. About 41% of deals auto-approve instantly.
Non-standard deals appear in a triage-ready queue with exception size, dollar impact, and SLA timer. Exception severity determines routing — small exceptions to the sales manager; larger ones escalate to RevOps or Finance.
On approval, Apex fires a REST callout to Django's /approved-rates/ endpoint. Self-healing retry handles stale region IDs. The rate is live before the approver closes the tab.
Slack posts on submission, decision, and rate-is-live. Chatter logs every decision. Ironclad syncs contract status bidirectionally.
Every approved deal generates 90-day, 180-day, and 365-day revenue projections with a distribution shape. Actuals flow back from the data warehouse for deal-level variance tracking.
The approval queue surfaces exception size, dollar impact, and SLA timer in one card. Each deal renders its own evaluation: which positions are within guardrails, which are below target, and which trigger an exception that requires human judgment.
Visual trust grammar throughout. Solid borders mean validated. Different status colors carry semantic weight — never red for "we don't know," always red for "below floor." Provenance pills show where each piece of context came from. Demo data shown.
Net 45 requested — policy is Net 30 for new customers
Rate and markup meet floor requirements
Markup below target but above floor
Rate matches CHOAM contract terms
Approval triggers 90-day and 365-day net revenue projections automatically. The account executive draws a distribution shape — ramp, steady, frontloaded, spike — that becomes the basis for cohort analysis and variance tracking as actuals flow back from the data warehouse.
Ramp shape — revenue grows month-over-month as crew volume scales. Most enterprise food & beverage deals cluster near this distribution. Shape accuracy becomes a signal over time across reps, deal types, and markets.
I designed the architecture, made every integration decision, and shipped the platform with Cursor and Claude as development co-pilots. The AI wrote Apex, scaffolded tests, debugged callout failures. I focused on system design, stakeholder alignment, and production operations.
First month in production.
Every approved rate reaches production without human data entry. Full audit trail from request to live rate. No tribal knowledge required.
The system worked. It would have kept working. The next chapter of the story is the one most case studies leave out.
For a commercial decision to clear automatically, the system needs to know everything that's been previously agreed: the master agreement terms, the negotiated rates, the payment schedule, the rebate triggers, the state-level cost overrides. All of it. Cleanly. With database-level guarantees.
What I inherited was the opposite. The contract data that determines whether a deal can auto-clear lived across four separate systems: contract management (Ironclad), finance spreadsheets, Salesforce, and Slack DMs between the Deal Desk reviewer and account owners.
A reviewer evaluating a single deal would hunt across all four sources to assemble the picture. The reviewers were doing what a system should do: reconciling fragmented data so a decision could be made.
Most of the data needed for auto-approval already lived in our Django backend's contract entity. The rest was scattered across the four other sources. The 41% auto-approval rate was real, but the ceiling on it wasn't on the Salesforce side I was building. It was upstream, in the foundation.
The gap wasn't on the surface I was building. It was in the foundation underneath it.
That distinction matters. If the gap were on the Salesforce side, I would have kept adding rules, exceptions, and policy modules. That's the natural move for a builder — keep building. But the gap wasn't there. It was upstream, in the backend, in how contract data was modeled and stored. No amount of Salesforce work would close it.
The most useful thing I could do at this point was the least comfortable thing I could do: stop building and surface the problem.
I wrote up the data architecture problem, the cost of working around it, and the proposed reshape. I named the trade-off plainly. The work I'd been doing could keep going, with marginal returns and accumulating workarounds. Or the engineering team could take on a focused refactor of the contract data model, and the Salesforce side would benefit immediately and permanently.
I made the case for pausing Deal Desk and prioritizing the refactor. The decision wasn't mine to make — but the case was mine to make well.
Leadership agreed. Deal Desk got paused. Product engineering reallocated to the rewrite. The new architecture defines our product roadmap for the next phase.
A builder who keeps building on a broken foundation is rewarded for visible output and punished by the system they create. A builder who surfaces the foundation problem is rewarded by the system that comes after.
This was the move that's hardest to fit on a resume. There's no metric for "the right architectural argument made at the right time." It only shows up later, in the work that becomes possible because the foundation got fixed.
Here's the part most case studies leave out.
When auto-approval works for matched-contract deals, the Deal Desk function I built changes shape. The volume that justified a dedicated team falls to the residual cases that require genuine human judgment: non-standard terms, new partner agreements, edge cases the rules can't yet encode.
The honest question now is: what does Deal Desk look like when the system absorbs the volume? Is the residual workload enough to justify a dedicated team, or does it become a part-time responsibility within a broader role? What decisions can never be encoded as rules and therefore survive automation indefinitely?
The dynamic is real: I'm optimizing the system in a way that reduces the scope of the function I built it to serve. That's the right move for the company. It's a less obvious move for the person who built it.
I am explicit about this trade-off. Companies hiring senior commercial engineers should want people who will absorb their own function into the system rather than entrench it. The signal is the willingness to make that argument.
Where we are now.
The refactor is in progress. Engineering has reallocated to the contract entity rewrite. Deal Desk work is paused except for production support.
The work I'm doing during the pause is the supporting architecture: writing the Salesforce side companion specs, mapping the Hightouch sync, defining the transition strategy, working through the persona-based process changes that will land when the new system goes live. The path to MSA-matched deals auto-approving at the correct contracted rates without human intervention is the milestone. Everything before it is preparation.
The system kept working. It would have kept working for another year on the foundation it was on. Surfacing the architectural debt cost short-term velocity to buy permanent foundation. The argument was mine to make. The decision wasn't.
The work I want to do next is on systems where both halves are explicit. Where the case for what to build, why, and when to stop is part of the engineering, not a separate conversation that happens elsewhere.
Back to portfolio →