One workspace for loan officers and underwriters
Two teams worked each deal from their own spreadsheets and documents. We gave them one shared workspace that kept the wall between them, and the clean data it captured became the base for monitoring the whole loan portfolio.
The situation
Our clients were regional banks making commercial loans. Every deal passes through two teams. Loan officers bring the deal in and work with the borrower. Underwriters and credit managers decide whether the bank should make the loan. Hundreds of people across our client banks, from executives to loan officers, touched deals on their way to funding.
The problem
Each team worked from its own spreadsheets, documents and email. The same deal lived in a loan officer's spreadsheet, an underwriter's model and a folder of documents, and it was retyped at every handoff. Nobody could point to the one current version of a deal.
The fix was not simply to put everyone in one shared file. Banks keep credit decisions independent of the people selling the loan, so underwriters can say no without pressure, and some of their work has to stay on their side of the wall. Any shared system had to bring the teams together and keep that separation at the same time.
And once a loan closed, its data was scattered across those same files, so the bank had little structured information to watch the loan over its life.
What I did
I worked directly with executives, credit managers and loan officers at each bank to design features, write specifications, train users and gather feedback. Together we replaced the spreadsheets with one workspace built on Spring Boot and Angular:
- One record from first quote to closing. Loan officers sized, priced and quoted the deal; credit picked up the same data and verified it instead of retyping it. Both teams shared the checklist, documents, covenants, status timeline and a loan log that showed who had seen each update.
- The wall, enforced by the software. Sending a deal to credit couldn't be undone, and from then on the loan was credit's to control. Changing the amount, pricing, fees or product took a written request and one approver from each side. Underwriters saw their numbers next to what sales had quoted and what the appraisal said, and sensitive documents could be limited to one team.
- Sizing, pricing and approvals. I helped design a sizing and pricing workflow that compared eligible products side by side and routed pricing exceptions to approvers. Approval routing captured a point-in-time snapshot of each deal, so approvers signed off on exactly what was submitted.
- Documents from the data. Letters of intent, rate lock agreements, credit memos and commitment letters were generated from each bank's own templates and sent through DocuSign. A rules-driven checklist adapted to borrower and property type and produced needs letters listing what borrowers still owed.
- Search and reporting. I built search and reporting on Elasticsearch, including map-based search of loans and appraisal comps, custom dashboards, and a REST API so banks could pull data into their own systems.
What came next
Once a loan funded, it moved to the bank's asset management team. At least once a year, and more often for some loans, they reviewed each one to confirm the borrower was meeting the loan's requirements and to catch problem assets early.
That review used to start from scratch. Because every loan now arrived at closing with complete, structured data, the terms and requirements were already in the system. A closed loan moved to asset management in one step, carrying its covenants with it, and recurring covenant checks were scheduled from them. We built Asset Management features on top of that data to run the reviews, request updates from borrowers and flag loans that needed attention, without anyone re-entering what the system already knew. A tool for getting loans approved became one the bank used for the life of the loan.
The result
Client banks funded loans 60% faster. Loan officers and underwriters worked from the same record instead of trading files, the bank kept its credit independence, and the data captured on day one paid off again in every portfolio review.
Need something like this? See the Custom build package.