How We Built AI Into MortgageCoach (The Real Story)
By: Yuesong Wang, Vice President Technology
August 7, 2026
MortgageCoach helps loan officers coach borrowers, not just sell to them, bringing clarity so borrowers can make informed decisions. Two things get in the way: presentations are too complex to build (100+ entry fields + a steep learning curve for new users), and borrowers have too many basic questions for LOs to have focused high-value conversations. Two sides of the same coin.
Over the past year, we built two AI features to tackle both: a borrower-facing AI assistant that answers questions inside presentations 24/7 and the TCA Creator AI solution that lets an LO simply describe a scenario and get a full presentation draft in about 30 seconds.
None of this was magic. It came from a year of building, shipping, breaking things, and learning from real users. This is that story.
The Pitch Nobody Was Sure About
In early 2025, I pitched our executive leadership team on building a borrower-facing AI chatbot that could sit inside our presentations and answer questions in real time.
The reaction was not “LET’S GO!!!”, as I had expected. It was: “Do consumers have chatbot fatigue?” “Is a chatbot even a good experience for something as personal as a mortgage?” air questions that I didn’t have great answers for. So instead of arguing, I built a prototype.
That chatbot idea won out over other ideas I’d been mulling because it was the most testable, with a clear, limited scope. We could put it in front of real people and see what happened.
The constraint was clear: this couldn’t disrupt what the dev team was already working on and there could be no open-heart surgery on the existing codebase. So I built the AI as a browser bookmarklet that injected a chat window into existing presentation pages – no native integration, no backend changes. It was a hack, but the right one: maximum return, minimum blast radius.
Building It (Mostly) Solo, With an AI Pair Programmer
I took on the AI build solo, pulling engineers off their work would’ve slowed down two things instead of speeding up one.
I’m a backend engineer by trade. Building a full-stack AI application(chat UI, internal admin tools, AWS infrastructure, the AI layer, etc.) is a lot for one person. What made it possible was Cursor, an AI coding assistant. I was deliberate about what I relied on Cursor for. Architecture, interfaces, data models, core AI component design — that was me. The UI, internal tooling, infrastructure scripts, the parts where I’d be slower and Cursor could move fast, I leaned on it as much as possible. I wasn’t using it in an agentic, fully autonomous way, it was more like pair programming: I’d direct, it’d write, I’d review and adjust. That division of labor is what made a solo full-stack build feasible. I would not have tackled the project at all without an AI coding assistant. With it, I genuinely felt like a 10x engineer.
Our tech choices were equally pragmatic: Gemini for the LLM because our team had good experience with its quality, we were already in the Google ecosystem, and it was significantly cheaper than OpenAI. TypeScript for the full stack and Google’s GenAI SDK to start.
We launched the borrower AI to alpha on May 6, 2025 with 15 LOs across three organizations. That same day, two borrowers used it. I posted in our Slack channel: “It’s happening, a couple of borrowers have interacted.” An executive replied: “WE GOT 2!!”
The excitement was real. But what hit the hardest was the data. For the first time, we could see raw, unfiltered borrower questions, not just what LOs told us borrowers asked, not survey responses, but the real thing.
Within the first week, we got our signature win: a borrower engaged with the AI chat, then messaged their LO to lock in the rate, skipping the usual final call. The LO told us that it typically takes one final conversation to lock in the rate but they messaged and said lock it in. We also started a formal alpha/beta program at this point. Mike Spotten, our VP of Product, followed up with every alpha user for feedback. Dave Savage, our Chief Growth Officer and MortgageCoach founder, became the evangelist, collecting LO testimonials and pushing for wider access. One LO told us the feature “completely replaced” another tool he’d been using and turned him into an active MortgageCoach user. Getting real users involved early, and keeping them involved, was one of the best calls we made…and we’ve done it for every major feature since.
The Messy Middle
Then came the hard part. Our AI chat monitor started surfacing real patterns in borrower conversations, and real problems.
Closing costs were a mess
A common question borrowers asked about was Cash to Close, and our AI couldn’t explain it accurately in many cases. Turns out Cash to Close is deceptively complex: itemized vs. non-itemized fees, financed vs. non-financed, purchase vs. refinance, contributions from sellers and lenders and brokers. I spent weeks with domain experts to untangle the logic and translate it into prompt instructions the AI could follow.
One fun discovery: when the upfront mortgage insurance premium (UFMIP) is financed and the amount isn’t a whole number, the decimal portion goes into Cash to Close. So a $4,728.50 UFMIP means $4,728 gets financed and $0.50 goes into the borrower’s closing costs. That explained a mystery $0.50 delta that had been confusing our manual calculations. Integrating AI into an existing product means paying attention to corner cases like that.
After weeks of work, we got the AI to about 8-9 out of 10 accuracy on complex closing cost scenarios. That’s useful. It’s also not 10 out of 10, and we were honest about the gap.
The “what if” questions”
“What if I put 10% down instead of 5%?” was another popular question. We debated it — would new numbers mislead the borrower if they weren’t fully accurate? We fell back on our usual method: put it in front of real users and see what happens. Borrowers used it to explore down payments, rates and loan amounts. LOs got insight into a borrower’s mindset before ever picking up the phone. We never had to roll it back.
Compliance is not optional
Banks and credit unions can’t just flip on an AI feature. Risk committees need to review it, compliance teams need to sign off and sometimes that takes months of review. Our Security and Compliance team defined the compliance minimums and our QA lead figured out how to validate an AI that gives a different answer every time, building automation and regression approaches for nondeterministic output. This is a genuinely hard problem most teams have not solved.
On the engineering side, we baked fair lending protections directly into the AI’s system instructions: every protected category under ECOA and the Fair Housing Act is explicitly listed, with hard rules against implying they affect loan eligibility. We also added guardrails against steering borrowers to other lenders, plus an accuracy disclaimer on every interaction. It reads like table stakes, but for enterprise lenders it was the difference between “interesting demo” and “approve for production.”
Costs sneak up on you
We discovered we were burning tokens processing presentation content on every page load, even when the borrower never engaged. Switching to process content only when a borrower actually sent a message cut daily LLM costs dramatically. Separately, our QA team set up daily automated tests that called an LLM on a schedule – great for quality, expensive in practice. The kind of gotcha that only shows up in production.
Good surprises, too
A team member found that the AI worked in Spanish without us building any translation feature. We later saw borrowers using it in Korean, also. Multilingual support, essentially for free – one huge upside of building on an LLM.
From Explaining to Creating
The borrower AI was solving one half of the problem, helping borrowers understand. But LOs were still fighting a complex, multi-screen UI to build presentations in the first place. That pointed us to the other half.
We built a new stack for the Loan Comparison Creator AI. A new backend, new web-app frontend and all outside of the MortgageCoach product. The same playbook: built outside the codebase to get in front of users fast.
Select alpha users got access starting in November 2025. One user showed us something we hadn’t designed; he created his own prompt template, shared it with his team and had them paste in borrower values. We formalized that into quick-start templates, which we refer to as “Mad Libs” for loan presentations.
Under the hood, the Loan Comparison Creator AI is a bigger build than the borrower AI. We evolved from raw GoogleGenAI SDK to LangChain, then to Genkit and moved to a multi-agent architecture: one agent processes inputs and looks up data, another designs a loan strategy, a third generates detailed options. We break the full list of loan parameters into smaller chunks generated separately, which significantly improves accuracy – and we stay pragmatic about what’s deterministic code versus what’s AI.
The modular architecture means we can fill gaps over time, including a coaching layer that can recommend loan strategies with less input from the LO. Only after months of alpha testing did we integrate the AI backend natively into MortgageCoach.
What We’d Tell You
If you’re an engineering team thinking about your first AI feature, here’s what we’d pass along:
- Don’t argue— build a prototype. A working thing changes the conversation faster than any pitch deck. Start scrappy. A bookmarklet is fine. A hacky integration is fine. You can refactor later. The goal of v1 is to learn, not to be architecturally pristine. Watch your users. Our best ideas came from observing real usage, not planning sessions.
- Be pragmatic about tech choices. Pick what you know, what’s cheap, what ships fast. Re-evaluate later with real data.
- AI coding assistants change what one engineer can ship. How you use them will keep evolving — don’t wait to have it figured out.
- Run an alpha/beta program with real users. It’s worth more than months of internal testing.
- Be honest about accuracy. 8 out of 10 is useful; claiming 10 out of 10 is dangerous. Use deterministic code where exact answers matter.
- AI is not the point. Solving the user’s problem is. AI just happened to be the technology that helped.
MortgageCoach Presentation Creator AI is now in open beta. A year ago we weren’t sure a chatbot was the right first move. Now we’re watching loan officers create full presentations in 30 seconds. I’m genuinely excited to see what happens when more users get their hands on it.



