RedBear Labs
Mortgage and residential lending

A mortgage site built around a lead that cannot vanish

A California refinance and HELOC team needed more than a contact form. We built a rate alert site where a homeowner submits their loan basics and the team reaches out when the math actually works, with lead delivery engineered so a submission cannot be lost quietly.

Visit the live site

  • 14 metro landing pages, each with its own local data
  • Lead submission retried on failure, logged, never dropped silently
  • CI runs 38 test files, end to end tests, accessibility and performance budgets on every push
  • Build fails if a page title or description falls outside search limits
Homepage of the Team Wilburn's Refis website showing California refinance and HELOC rate alerts

The idea

Most mortgage sites end in a contact form, which asks a homeowner to decide for themselves whether now is the right time. Refinancing is a timing question, and the answer changes weekly.

So the site is built around what the spec called a rate window alert. A homeowner submits their loan basics once. The team reaches out when the numbers actually work for that specific loan. That single decision shaped everything else on the site.

What we built

Every page is prerendered. The only dynamic path in the entire application is the lead submission itself, which means the site is fast everywhere and there is exactly one thing that has to work under load.

Three service pillars cover refinance, HELOC and cash-out refinance. Beneath them sit 14 metro landing pages across seven California markets, from Los Angeles and Orange County to the Inland Empire, Sacramento and Fresno. Each metro carries its own typed data: neighborhoods, market context, a local angle, its own FAQs, and links to neighboring metros. A blog of eight posts across three topic clusters links up to the pillar pages and back down again.

The trust pages are real. A bio with a real photo, five genuine client testimonials, and the compliance a regulated vertical requires: company and individual NMLS numbers, the California DRE license and an Equal Housing Lender statement in the footer of every page.

Making the lead unloseable

A lost mortgage lead is a lost commission, so we engineered the submission path accordingly. The form is a native server action, validated on the server, mapped and posted into the team's CRM. If that post fails it retries. If it fails again the visitor is given a direct call path rather than a dead end, and the submission is logged either way so it can be recovered by hand.

Spam is handled with a honeypot field and a timing check that deliberately does not penalize visitors browsing without JavaScript.

Small things reduce friction. The money questions are ranges rather than exact-dollar inputs, because a homeowner estimating their balance to the dollar is a homeowner who abandons the form. On mobile a sticky bar keeps the primary action and a tap-to-call button in reach at all times.

Three custom charts are drawn directly in the page, showing break-even timing, equity trend and HELOC position. Any example math is labeled as illustrative, and the copy makes no rate promises.

Quality enforced by the build

The parts of this site that are easy to get wrong are checked automatically rather than by memory.

Page metadata runs through a factory that fails the build if a title runs past 60 characters or a description falls outside the 50 to 160 range. Every metro and blog URL is derived from one registry, so the sitemap cannot silently miss a page. Contact details are gated behind placeholder detection, which means a fake phone number physically cannot ship.

Content depth is enforced as tests. A metro page fails if it carries fewer than six neighborhoods, two paragraphs of market context, three considerations or three FAQs per service. Titles and descriptions have to be unique across all 14 metros. Thin local pages are not a judgment call here, they are a failing build.

On every push, CI runs typecheck, lint, 38 unit test files, a production build, end to end tests against a mocked CRM so a stray test can never post a fake lead into the real one, accessibility checks across seven page templates, and performance budgets.

Questions

What is this site built with?

Next.js 16, fully prerendered. Every page is static and the only dynamic path in the whole application is the lead submission itself.

What happens if a lead fails to send?

It retries once. If it still fails, the visitor is given a direct call path rather than a dead end, and the submission is logged either way so it can be recovered by hand. A lost mortgage lead is a lost commission, so it is engineered accordingly.

How do you keep 14 local pages from being thin?

The build refuses to ship them. A metro page fails its tests if it carries fewer than six neighborhoods, two paragraphs of market context, three considerations or three FAQs per service, and titles and descriptions have to be unique across all 14 metros.

Can you build something like this for my business?

Yes. We work with local businesses across the United States, and every project starts with the same discovery and strategy work. Tell us about your business and we will tell you honestly whether we are the right fit.

The refinance pillar page on the Team Wilburn's Refis website explaining when a refinance makes senseThe Team Wilburn's Refis website on a mobile phone screen with the sticky rate alert action at the bottom