Mid America Mortgage

Redesign & Optimization of the multi-state mortgage platform

Mid America Mortgage

Redesign & Optimization of the multi-state mortgage platform

Redesign and optimization of the loan management platform for the large mortgage provider in the USA

Location

USA

Industry

Fintech

Cooperation model

Time & Material

Partnership period

2017 - present

Improvements Plan

Purpose
Strategy
Migration to MVC
Layers
Web API
UI
Unit Tests
.Net Core

Purpose  StrategyMigration to MVC Layers

Web API  UI  Unit Tests  .Net Core

Technologies

About the product

A complex platform that is integrated with third-party legal instances and covers a full loan life cycle. The application allows to streamline the loan process and handle user requests quicker than competitors.

About the client

Mid America Mortgage, Inc., Addison, Texas, is a multi-state, full-service mortgage lender serving consumers and mortgage originators through its retail, wholesale and correspondent channels. In general, it helps borrowers refinance and purchase residential real estate in the United States. The company was established in 1940. Nowadays, the company has over 500 employees and a yearly revenue of $250 millions.

Сhallenges overview

The customer requested to revisit current approach to the development of loan management platform. During the project, NerdySoft developers had to address the following challenges:

  • The application core was designed and developed ~ 15 years ago.

  • The business logic, database, and development layers are closely tied, hard to scale, and maintain.

  • The client heavily depends on validation by many third-party legal instances, like Credit Agencies, Insurance Companies, automated user qualification algorithms, etc.

  • View and C# code is not separated that block UI interface evolution

  • Outdated, not responsive and not Mobile-friendly UI

  • Complicated maintenance process

  • System is difficult to cover with automated tests (Web form part)

  • Monolite not modular structure

  • To streamline the communication with external services the Interfaces module was implemented. Being an integral part of the application the module is of prime concern, as the business relies on it for revenue.

  • The application core was designed and developed ~ 15 years ago.

  • The business logic, database, and development layers are closely tied, hard to scale, and maintain.

  • The client heavily depends on validation by many third-party legal instances, like Credit Agencies, Insurance Companies, automated user qualification algorithms, etc.

  • View and C# code is not separated that block UI interface evolution

  • Outdated, not responsive and not Mobile-friendly UI

  • Complicated maintenance process

  • System is difficult to cover with automated tests (Web form part)

  • Monolite not modular structure

  • Maintenance team scalability challenge

  • To streamline the communication with external services the Interfaces module was implemented. Being an integral part of the application the module is of prime concern, as the business relies on it for revenue.

Develop test documentation considering all possible inputs and outputs and dependent system behavior (request data mappings, credit scores and their boundaries, services response import etc).

Define key loan life cycle states, that require outcome from external services

Solution

The NerdySoft team was involved in existing solution architectural analysis and suggested a redesign approach.

Unfortunately, the customer decided to put platform redesign on hold during the pandemic year and continues to use the old application.

Modern and responsive UI

Testing includes a systematic execution of every business process for a loan from the start through all the transitional steps and to the final business process (or processes), checking that all the data was transferred correctly and the expected outcome happened.

Easy third-party API updates

Easily tested with automated tests

Solution

The NerdySoft team was involved in existing solution architectural analysis and suggested a redesign approach.

Define key loan life cycle states, that require outcome from external services

Develop test documentation considering all possible inputs and outputs and dependent system behavior (request data mappings, credit scores and their boundaries, services response import etc).

Modern and responsive UI

Testing includes a systematic execution of every business process for a loan from the start through all the transitional steps and to the final business process (or processes), checking that all the data was transferred correctly and the expected outcome happened.

Easily tested with automated tests

Easy third-party API updates

Unfortunately, the customer decided to put platform redesign on hold during the pandemic year and continues to use the old application.

How we did it?

Based on application architecture analysis it was decided to make the transition from Webforms to MVC Framework.

Layers in the Core part were not changed. All the changes were related to Webforms. We have added architecture layers inside the Webforms part of the project:

Artboard 9

The transition was performed module by module. It was possible because both Webforms and MVC Framework are based on ASP.NET technology by Microsoft.

From the backend side: Controllers layer – Models layer – Service layer. Frontend side uses React JS. The business logic that used to be part of the Webforms is now inside the Service layer.

Based on application architecture analysis it was decided to make the transition from Webforms to MVC Framework.

Layers in the Core part were not changed. All the changes were related to Webforms. We have added architecture layers inside the Webforms part of the project:

Artboard 9

The transition was performed module by module. It was possible because both Webforms and MVC Framework are based on ASP.NET technology by Microsoft.

From the backend side: Controllers layer – Models layer – Service layer. Frontend side uses React JS. The business logic that used to be part of the Webforms is now inside the Service layer.

Technical Approach Strategy

Our strategy was to use module development starting with UI and use the modern .Net and UI frameworks :

  • Select key layers of the system
  • Use superior separation between UI and Code
  • Create up to date UI design using modern JS framework
  • Add API-based communication layers, use Web API
  • Add Unit Tests for each new module
  • Migrate from MS ASP.Net Web Forms to ASP.Net MVC
  • In future: easy migration to ASP.Net Core from ASP.Net MVC (if needed)

API-based pattern using Web API

We used ASP.Net Web API controllers splitting out layers in order to meaningfully reduce the system complexity and improve the quality and maintainability of the resulting code.

Adding More Unit Tests

One of the main benefits of unit testing is that it makes the coding process more Agile. When you add more and more features to a software, you sometimes need to change old design and code. However, changing already-tested code is both risky and costly. Having unit tests in place will allow us to proceed to refactoring confidently.

Unit testing also improves the quality of the code. Issues are found at an early stage. Unit testing reduces defects in the newly developed features as well as reduces bugs when changing the existing functionality.

Result

Nerdysoft optimized the platform to serve customers faster and better than competitors and streamline the loan process.

Our team supports this system and helps it to function and adapt to new changes in accordance with changes in the industry.

While each component is performing its function separately, all together they help to reach the goal of the non-stop business processes operations important for the client’s business.

Result

Nerdysoft optimized the platform to serve customers faster and better than competitors and streamline the loan process.

Our team supports this system and helps it to function and adapt to new changes in accordance with changes in the industry.

While each component is performing its function separately, all together they help to reach the goal of the non-stop business processes operations important for the client’s business.

RECEIVE A CALL or EMAIL US




      Phone Number
      Optional