Inside consumer-lending engineering: money, levers, lines
Consumer lending is fintech, not SaaS. The mental model SaaS engineers walk in with — recurring revenue, low marginal cost, ship-fast-and-iterate — collides with a business where the unit is the loan, the marginal cost is a default, and a careless iteration on the wrong code path is a state AG action.
Consumer lending wasn't a domain I had a working model for. So I went looking for one. The map below is what came back: how a lender actually makes money, what an engineer is paid to move, where AI-augmented development earns its slot, and the regulatory lines you don't cross.
The business doesn't look like SaaS
There's no MRR. There's a loan — originated once, paying back over 12–84 months while accumulating risk along the way. Five income lines stack on top of every loan; three cost lines pull from it. The contribution margin per loan is the whole game.
The five income lines, in plain English:
- Interest. The headline. APR × principal × time, minus prepayments.
- Merchant Discount Fee. The contractor, the dentist, the solar installer pays the lender 3–12% of the financed amount to offer the loan at point-of-sale. For 0%-APR promotional offers, the MDF is the entire business.
- Origination & servicing fees. Line items on the loan, usually a few percent of principal.
- Forward-flow premium. The lender originates the loan, then sells it to a capital partner (private credit fund, regional bank, insurance balance sheet) at par + premium. The lender keeps servicing rights and the borrower relationship; the buyer takes the cash flow.
- Late / NSF fees. The last line and the most regulator-watched. State AGs notice when this number grows faster than the book.
Contribution margin per loan = (interest + MDF + fees) − (defaults + cost of capital + servicing cost). Every engineering ticket moves at least one of those terms — or it shouldn't be in the sprint.
The lifecycle and its always-there layers
Every consumer lender — home improvement, healthcare, auto, BNPL — runs through this. Four layers in the picture above matter more than they look:
- A merchant network. In POS consumer lending the borrower meets the lender at someone else's counter — the contractor's iPad, the dentist's office, the solar installer's tablet. The merchant initiates the application and gets paid the day the loan funds. The merchant relationship is as load-bearing as the consumer one, and the engineering surface around it — merchant portal, scorecards, vertical-specific menus — is usually the most underbuilt.
- A bank partner. Most fintech lenders aren't chartered. A partner bank legally originates the loan; the fintech runs marketing, technology, and servicing. The "bank-as-a-service" stack underneath most consumer-lending fintechs you'd recognize.
- A vendor LMS. Nortridge NLS, MeridianLink, LoanPro. At $100M–$1B annual originations, vendor is the default. In-house servicing is the rare bet.
- A Snowflake warehouse. Loan-level, transaction, customer, merchant — it all lands there for analytics, capital-partner reporting, and the dashboards that drive the business.
The fintech's code lives on the edges between those layers.
Six levers an engineer is paid to move
The objective at a consumer lender isn't "ship the next feature." It's move one of these six numbers by a percent. Every backlog item maps to one of them. If it doesn't, it shouldn't be in the sprint.
Regulatory: the lines you don't cross
The section where SaaS instincts get a company fined. There are three things to know walking in: the federal alphabet, the licensing layer, and how the audits actually work. The full canon lives in the CFPB regulations index — what follows is the engineer's read.
The alphabet
- TILA · REG Z
- Truth in Lending. Disclosures — APR, finance charge, payment schedule. A miscalculated APR is a federal violation; the math is non-negotiable.
- ECOA · REG B
- Equal credit opportunity. No discrimination on race, sex, marital status, age, etc. Adverse-action notices required within 30 days, with the specific reason. Your model can't use prohibited features or proxies for them.
- FCRA
- Fair Credit Reporting. Governs both bureau pulls (the data going in) and bureau furnishings — your monthly Metro 2 file going out. Dispute response in 30 days.
- UDAAP
- Unfair, Deceptive, Abusive Acts and Practices. The CFPB's catch-all. Consumer-facing copy and dark-pattern UI live or die here.
- GLBA
- Gramm-Leach-Bliley. Data privacy for financial information. Encryption in flight and at rest, access controls, breach notification.
- SCRA
- Servicemembers Civil Relief Act. 6% interest-rate cap for active-duty service members. Check at origination and mid-loan; status can change.
- STATE LAW
- The most volatile layer. Usury caps, fee caps, licensing — California, Colorado, New York, Massachusetts have all been actively shaping the floor since federal enforcement contracted in early 2025. Code branches state-by-state and changes at different speeds.
Licensing
Two structures matter. NMLS — the Nationwide Multistate Licensing System — is where state lender licenses, money-transmitter licenses, and (for mortgage) individual loan-originator licenses live. Most consumer lenders run an NMLS state-by-state matrix; which states a product can launch in is a real engineering input. Bank partner is the other structure: most fintechs aren't chartered themselves, so a partner bank legally originates the loan and the fintech does everything else. The "true lender" question — who's actually making the loan? — is unsettled at the state level and keeps the lawyers busy. As an engineer it shows up as a contract between two systems with audit trails on both sides.
Audits
- SOC 2 Type II. Table stakes for partner banks and capital partners. Vendor risk teams ask for it before they sign.
- State DFI exams. Periodic. Examiners pull a sample of loans and check disclosures, fees, complaint logs, denial reason codes, fair-lending statistics.
- Compliance Management System. Required by CFPB guidance. Engineering owns the audit trail, the change log on the decision engine, the read-only console compliance uses to do their job.
Anything customer-facing or credit-decision-facing has a regulator looking at it. Anything internal has an auditor looking at it. Both lanes ship, with very different release processes.
In one line: as an engineer you can ship code that makes the audit trail tighter, the disclosure correct, the denial reason explainable, the state-rule branch fast. You can't ship code that decides the loan on logic no one can explain, copy that nudges the borrower across a UDAAP line, a model whose features correlate too tightly with a protected class, or a bureau file that drifts from the ledger.
Where AI-augmented development actually wins
The interesting question isn't can AI write code in fintech. It can. The constraint is where you point it.
The pattern: AI lives inside the seams. Not inside the credit engine. Not inside the disclosure layer. Inside the tooling, the extraction, the classification, the boring-but-high-volume code where review is fast and the blast radius is bounded.
Where the wedge is open
The map above tells you where the work is. It doesn't tell you where the work isn't yet. Consumer lending has a handful of spaces where the incumbents are too operationally heavy to staff and the vendor stack hasn't shown up — wedges a small team with AI on the keyboard could put a real year into.
Cash-flow underwriting beats bureau-first
Most lenders are still bureau-first. Plaid, MX, and Finicity make real-time bank-transaction underwriting accessible, and it's the unlock for the thin-file slice — gig workers, immigrants, the underbanked. The opportunity is the lender willing to make bureau optional, not primary, and to defend the decision in front of fair-lending review.
Builder ships: a cash-flow scoring service that lifts approval rate without lifting defaults, with adverse-action reasons your compliance team can sign.
The pre-delinquency window
Servicing usually wakes up at 30 days past due. The 1–15 DPD window is wide open. A light-touch intervention there — a text, a one-tap reschedule, a hardship menu the borrower can self-serve — prevents charge-offs at a fraction of collections' cost. The signal is sitting in the warehouse already; nobody's reading it in time.
Builder ships: an early-warning model plus a comms layer that resolves trouble before it rolls and hands back to servicing clean.
Merchant intelligence at point-of-sale
The merchant pays the bills via MDF — and merchant-side tooling is almost always an afterthought. Ticket-size-aware offer engines. Merchant cohort dashboards. Vertical-specific financing menus that adjust by trade (HVAC vs. roofing vs. dental). The lender that arms its merchant network wins distribution; the lender that treats the merchant as a checkbox loses it to the next competitor that doesn't.
Builder ships: a merchant-portal upgrade that turns the contractor's iPad into a financing dashboard, not a financing form.
AI-native collections
Old model: call centers, scripts, shame. New model: the borrower texts back when they can pay, an AI handles the long tail of conversations, a human handles the edge cases. Recovery parity at lower cost, lower complaint volume, better brand. The compliance line is real — FDCPA, state debt-collection laws, UDAAP — but it's a line, not a wall.
Builder ships: an asynchronous, dignity-preserving collections channel that lifts cure rate and lowers cost-per-cure at the same time.
The unifying pattern: each wedge is a seam the vendor stack doesn't cover and the incumbents are too operationally heavy to staff. A small team with sharp focus and AI on the keyboard ships a year-long wedge the $500M-originations lender ends up licensing, partnering with, or quietly acquiring.
The build, if I were sitting in the chair
A Lending Ops Console — one internal app, four stations, mapped directly to the levers in §03.
- 01
Reconciliation cockpit · moves lever 05
Yesterday's diffs across the LMS, the warehouse, the payment processor, and the bank ledger — classified into drift / real / unknown, with a one-click "promote unknown to real" workflow that trains the classifier over time.
Metro 2 preflight · moves lever 06
Staged monthly file. Structural lint. Delta vs prior month, named-record diff, designated-engineer sign-off. Catches the rejected-file fire drill before the file ships.
State-rule console · moves lever 06
Every code path that branches on state, with the current rule, the source citation, and an enforcement-action feed. One screen the head of compliance and the senior engineer share.
Stuck-application diagnostic · moves levers 02 + 04
Given a borrower ID, render the full lifecycle: where it is, what's blocking, which system holds the answer. Ops stops opening five tabs to triage one application.
Schema-constrained, warehouse-backed, internal-facing. Four operators with sharp pain. Exactly where AI-augmented development pays for itself — and where shipping it proves to the company that the rest of the stack is worth the bet.
What I want to hear
This map is from someone who walked the perimeter, not the building. If you've worked inside a consumer-lending engineering team — fintech, bank partner, LMS vendor, anywhere on the chain — I want the corrections. What's wrong. What I underweighted. What I'm not seeing.
Email or X. Building in the open is partly a learning project; outside input is exactly the point.
— Neil
