Lending software
Willbot
Helps finance brokers match borrower scenarios with lenders and check lending policies.
A broker gets a ranked lender answer with the policy rows it came from.
- Stage reached
- Deployed
- Period
- 2024 – present
- Sector
- Commercial finance
- Organisation
- Talk to a Broker
My contribution
I built and still maintain the path from a broker's message to a ranked lender result, including the audit that keeps the lender dataset honest.
- Borrower-fact extraction and follow-up corrections
- Eligibility checks and ranked lender options
- Broker chat, lender-data updates and workflow integration
The result
Deployed broker workflows for asset, business and personal finance.
Engagement
Ongoing software delivery and workflow integration
The problem
Brokers work from conversation, not forms. The details arrive out of order, half of them are wrong first time, and the lender policy they are being matched against moves every quarter. A system that answers confidently from stale data is worse than no system: it misprices the deal and nobody notices until settlement.
How it was approached
- Extract borrower facts into one structured scenario that every later step reads from.
- Keep eligibility and ranking deterministic and version-controlled, so a result can be reproduced and argued.
- Replay real follow-up conversations as release gates, to prove corrections and retained facts survive.
- Audit the lender dataset against each lender's published documents rather than trusting the spreadsheet.
How far up the stack the work reached
The brokerage, its CRM and its lender relationships already existed. What was built here is the layer that turns a conversation into a defensible lender result.
Broker
Brokers, their CRM and the conversations they already have.
Intake
Loan-family-specific extraction of borrower facts from free text.
Scenario
A structured, serialisable constraint set carried across turns.
Policy
Versioned lender criteria and rate data with cache invalidation.
Decision
Deterministic eligibility filtering, ranking and rejection reasons.
Response
Explanations that reuse the stored result instead of re-deciding.
Engineering load
Mechanical
Electrical
Embedded
Software
Operations
What was built
Scenario extraction
Turn how a broker actually talks into constraints the rules can use.
- Separate asset finance, business, consumer and personal loan lanes
- Shared ABN and GST date and duration parsing with precise tenure checks
- Correction handling, so a changed fact reruns the decision path
- Missing-detail prompts scoped to the loan family in play
Deterministic lender decisions
Same scenario in, same ranked answer out, every time.
- Eligibility filtering and ranking in source-controlled code, not prompts
- Rate-criteria and product-band rejection evidence carried with each result
- Versioned lender-data caching with invalidation after sheet updates
- Guards against answering from cache on an incomplete scenario
Keeping the lender data true
A structured audit of the dataset the whole system depends on.
- 42 of 45 in-scope commercial lenders reviewed against their published documents
- 595 source artefacts read and reconciled: rate cards, policy PDFs and broker exports
- Gaps classified as missing, stale, contradictory or resolved, per lender
- A repeatable review process, so the audit can be rerun on demand
Operational integration
Carry the result through the tools the brokerage already runs.
- Native API and worker services for the broker scenario path
- Persisted conversation state across serialised follow-ups
- n8n retained for ingestion and legacy workflow paths
- Release gates covering routing, state preservation and golden lender results
What changed
42 of 45
Lenders audited
Every in-scope commercial lender bar three was compared line by line against its own published rate cards and policy documents.
5 lenders
Material rate drift found
Five lenders, three of them major bank groups, carried rates stale enough to misprice a deal, at drifts of 0.5 to 2.6 percentage points.
8 lenders
Missing from the dataset
Eight commercial lenders available in the broker portal had no row in the master sheet, so nobody working from it knew they were options.
4 loan lanes
Running deterministically
Asset finance, business, consumer and personal each have their own extraction, ranking and missing-detail behaviour behind one interface.
Technical stack
TypeScript
Node.js
Supabase
PostgreSQL
n8n
Worker services
Playwright
Capabilities applied
Decision systems
Data extraction
Workflow automation
Release verification
From the project




Next project
Industrial Shield
A four-layer board, enclosure and firmware carried to a working helmet prototype.
