Work

Five systems, still running.

Client names stay private unless they offer them. The numbers, the stack and the problems are exactly as they happened.

91%

invoices straight-through

Distribution group · 6 countries

Accounts payable that stops asking for help

The problem
Two AP clerks keyed 2,400 supplier invoices a month out of a shared mailbox. Month-end close slipped by four days on a bad month.
What we built
Document parsing over PDFs and scans, line-item matching against purchase orders and goods receipts, and a variance rule that routes anything over 5% to a human queue with the evidence attached.
Stack
Python, Postgres, Temporal, Azure Document Intelligence, NetSuite API
Outcome
91% of invoices post without a human touch. Close moved back to day two. Clerk headcount unchanged — both moved onto supplier terms work.

-38%

average handle time

B2B SaaS · 40-person support org

A support agent that reads eleven years of tickets

The problem
Answers existed, but in 11 years of Zendesk history, three doc sites and a Confluence graveyard. New hires took five months to reach full productivity.
What we built
Hybrid retrieval over tickets, docs and release notes, with citation-or-refuse enforced at the tool layer. Drafts land in the agent console; nothing sends unattended.
Stack
TypeScript, pgvector, Zendesk API, evals in Braintrust
Outcome
Handle time down 38%. Ramp for new hires down to nine weeks. Escalation rate flat — the refusal policy held.

12.4%

forecast error, down from 31%

Consumer goods · DTC and wholesale

Weekly demand model for a 4,100-SKU catalogue

The problem
Planning ran on a spreadsheet with a three-month moving average. Stock-outs on the top 200 SKUs, dead stock everywhere else.
What we built
Gradient-boosted model per SKU family with promotion, seasonality and lead-time features. Weekly retrain, backtested against two years of held-out weeks. Stock-out risk alerts into Slack with the reorder quantity attached.
Stack
Python, LightGBM, dbt, Snowflake, Dagster
Outcome
MAPE from 31% to 12.4%. Stock-outs on A-class SKUs down two thirds. Working capital freed in the first quarter paid for the build.

6 weeks

from kickoff to first live customer

Industrial supplier · 900 trade accounts

A B2B ordering product, built once and properly

The problem
Trade customers ordered by phone and fax against account-specific price lists. Every order was retyped into the ERP by hand.
What we built
Customer portal with contract pricing, credit limits, repeat-order templates and approval chains. ERP sync both ways, with an idempotent write path so a retry never double-orders.
Stack
TypeScript, React, Postgres, Cloudflare Workers, SAP B1 service layer
Outcome
First account live in six weeks, 62% of order volume self-serve within five months. Order-entry errors effectively gone.

+17%

checkout completion

Multi-brand e-commerce · 3 storefronts

Checkout rebuild and the ops work behind it

The problem
A four-step checkout on a heavily themed platform, 4.1s to interactive on mobile, and a returns process handled in a shared inbox.
What we built
Single-page checkout with address autocomplete, wallet payments and server-side validation. Behind it: automated returns intake, label generation and refund posting to the finance ledger.
Stack
TypeScript, Next-generation storefront APIs, Stripe, Postgres, Shopify Admin API
Outcome
Completion up 17%, mobile time-to-interactive 1.3s. Returns handling time cut by half with the same team.

If one of these looks like your problem, the fastest way to find out is thirty minutes on a call.

Book 30 minutes