
Rebuilt onboarding for a digital lending product
Key result: 2.4× faster approvals Illustrative
What was actually going wrong.
Every applicant reached a human. The flow collected documents, ran its checks, and then queued the whole file for manual review regardless of how clear-cut it was. Approvals took days, the underwriting team spent most of its attention on applications nobody would have disputed, and the genuinely marginal cases waited in line behind them.
Straightforward cases queued behind hard ones
A clean application and a complex one entered the same queue, in the order they happened to arrive.
Decisions that could not be reconstructed
The reasoning lived in reviewer notes, which turned any audit into an archaeology exercise.
Silent drop-off inside the form
Applicants abandoned midway through document upload and nobody could say at which step.
The route we chose, and what we ruled out.
The goal was never to automate the decision. It was to stop spending underwriter attention on cases that did not need it. So classification was separated from judgement: extract and verify automatically, decide by rule where the evidence is unambiguous, and route anything below a confidence threshold to a person with the analysis already done for them.
Decisions taken up front
- Rules for the decision, models only for classification and extraction
- A confidence threshold set with underwriting rather than by us
- Every automated decision stored with its inputs and rule version
What we designed and built.
Document intake classifies and extracts on arrival, checks run in parallel instead of in sequence, and a versioned rule set decides eligibility where the evidence is clear. A referral arrives at an underwriter with the extracted data, the failing rule and the supporting document already attached, so the human starts where the machine stopped.
The stack behind it.
The models do classification and extraction only. Anything that decides an outcome is a versioned rule, because a declined application has to be explainable years later.
How it went live.
Sequenced so that the first release could not break the operation, and so that each step earned the next one.
Shadow mode
The rule set ran alongside human review for four weeks deciding nothing, so every disagreement could be examined before anything went live.
One product line
The simplest lending product first, where the eligibility rules were already written down somewhere.
Threshold tuned with underwriting
The confidence line moved twice on their evidence rather than on our preference.
Then the wider product set
Rules reused across products, with the genuine differences expressed as configuration instead of as forks.
What moved, and how it was measured.
Median time to approval fell to roughly 40% of the baseline — 2.4× faster — with the decline rate unchanged, measured over the quarter after go-live against the quarter before. Underwriter time moved to the cases where judgement actually applies.
What we would do differently
We would instrument the form before touching the decision engine. The drop-off data explained as much of the funnel as approval time did, and we got to it second.
- Straight-through processing for unambiguous applications
- Referrals arriving with the analysis already attached
- Every automated decision reproducible with its rule version
- Drop-off visible per step in the onboarding flow
- Eligibility rules changed without a platform release
Other studies.
Real-time visibility platform for a regional carrier
Carrier, warehouse and customer events arriving on four different schedules, reconciled into one shipment timeline the operations team could act on before a delivery failed.
−31% missed delivery windows Sample
Unified commerce for a multi-brand retailer
Stock, pricing and customer records that disagreed between channels, unified behind one commerce platform so the site and the stores stopped telling customers different things.
+18% online revenue Sample
FinTech in depth
The constraints that shape technology work in this sector, and how we approach them.
Open sector pageHave a problem shaped like this one?
Tell us what is not working and what it is costing. We will tell you whether we are the right team for it.