Skip to content
All work

FinTech|2022 – 2024

MeridianLink Portal

The front door to a loan: built for a phone, wired to the systems behind it.

MeridianLink

Portal

The application front end banks and credit unions put in front of applicants, for loans and new accounts.

Two people applying for a card on a laptop at home
Product imagery: MeridianLink, from meridianlink.com.
Through
Bhavna Software
Role
Mid Level Developer

Overview

MeridianLink builds cloud software for banks, credit unions and mortgage lenders. Founded in 1998 and based in Costa Mesa, California, it served more than 1,900 institutions by 2021. Portal is its point-of-sale front end: the screens an applicant uses to apply for a loan or open an account, wired to MeridianLink Consumer and MeridianLink Opening behind them.

I worked on Portal from August 2022 to September 2024 as a software engineer at Bhavna Software India, building customer- and partner-facing screens and the ASP.NET Core APIs behind them. The highlighted part of the map below is where that work sat.

  1. Where applications start

    Applicants, members, dealers and brokers

    • Online (this case study)
    • Mobile (this case study)
    • Branch
    • Indirectauto dealers
    • Brokers and TPOs
  2. Point of sale

    The application front end

    • MeridianLink Portal (this case study)succeeded by Access, Oct 2023
    • Mortgage Accessmortgage point of sale
  3. Origination

    Systems of record for loans and accounts

    • MeridianLink Consumerconsumer loan LOS
    • MeridianLink Openingdeposit account opening
    • MeridianLink Mortgagemortgage LOS, formerly LendingQB
    • PriceMyLoanpricing and eligibility engine
  4. Around it

    Hundreds of partners through the MeridianLink Marketplace

    • Core banking
    • Credit checks
    • Identity and fraud
    • eSignature
    • Document management
This case studyPortal is the application front end for Consumer and Opening.

The platform in numbers

16M+
auto loan applications
8M+
unsecured loan applications
5M+
new accounts opened
1M+
home loan applications

Lifetime figures published on meridianlink.com, read October 2026. They describe the platform, not my work.

Impact

Five things that changed for the people on either side of an application. Each row names the problem, what I did about it, and which layers of the stack the work went through.

  1. 1,000+

    end users on modules I delivered

    Application flows built for a phone

    Applicants at banks and credit unions

    The problem
    Loan and deposit applications were long forms that did not work well on a phone, and every awkward step is a place to abandon.
    What I did
    Built configurable, mobile-first flows that carry custom forms, cross-sells, document upload, eSignature and identity verification in one journey.
    • UI (yes)
    • API (yes)
    • Data (no)
  2. End to end

    UI modules owned alone

    Whole modules, delivered independently

    MeridianLink product teams

    The problem
    Each module needed its screens, the API calls behind them and the requirement detail agreed with the client.
    What I did
    Delivered entire UI modules on my own, from requirement analysis with the client through React screens to the ASP.NET Core APIs they call.
    • UI (yes)
    • API (yes)
    • Data (no)
  3. Reusable

    React core components

    One component set across modules

    Developers and designers on the portal

    The problem
    Modules built one at a time drift apart in how inputs, validation and layout behave.
    What I did
    Created core React and TypeScript components that modules share, so screens stay consistent and new ones start from working parts.
    • UI (yes)
    • API (no)
    • Data (no)
  4. Faster

    API round trips

    Leaner request and response cycles

    Applicants waiting mid-application

    The problem
    Slow API responses showed up as waits in the middle of an application.
    What I did
    Reduced the bottlenecks in the request and response cycle of the ASP.NET Core APIs, instead of hiding them behind loading states.
    • UI (no)
    • API (yes)
    • Data (yes)
  5. In place

    legacy VB.NET and MSSQL extended

    Legacy screens, modernised in place

    MeridianLink's US teams

    The problem
    Existing VB.NET and MSSQL systems had to keep working for customers while their interfaces aged.
    What I did
    Refined legacy systems into modern interfaces with the US teams who owned the old behaviour, extending rather than replacing them.
    • UI (yes)
    • API (yes)
    • Data (yes)

Four of the five went through more than one layer of the stack. The layers come from what my resume names for this work: React and TypeScript screens, ASP.NET Core and C# APIs, and EF Core over MSSQL.

The product

An applicant's path through Portal, from the first screen to a submitted application.

  1. Start or resume

    Save-and-resume, single sign-on for existing members

  2. Prefill

    Known details filled for account holders

  3. Custom forms

    Configurable fields and questions per product

  4. Documents

    Upload in the flow, on any device

  5. Identity

    Verification in session, through partners

  6. eSignature

    Signed without leaving the application

  7. Submit and cross-sell

    Into Consumer or Opening, with offers after submit

What it is
MeridianLink's point-of-sale front end for loan applications and deposit account opening, used by community banks and credit unions. It connects behind the scenes to MeridianLink Consumer and MeridianLink Opening.
Applications and workflows
Configurable fields, multi-product applications in one session, post-submission cross-sell logic, pre-qualification and pre-approval rules, and built-in validation to cut manual work.
Applicant experience
Prefill, save-and-resume, document upload, in-session identity verification and eSignature, and single sign-on so a member can apply for another product without re-entering anything.
Where it went next
In October 2023 MeridianLink launched Access, a fully configurable successor, and the product page now presents Portal's role through Access. My work was on Portal, from 2022 to 2024.
Lender console · Incomplete applicationsRedrawn · fictional data
Lender console listing incomplete applications with the step each applicant stopped at, how long it has been idle, and a link to resume

Swipe to see the whole screen.

Lender console · Incomplete applicationsThe lender's side of the same flow. Applications that were started and not submitted are listed with the step the applicant stopped at and how long it has been idle, so staff can send a resume link instead of losing the loan. Redrawn for this page from the layout of MeridianLink's console; every name and number is fictional.

Screens

Two screens of Portal, drawn for this page with fictional data: the application on a phone, and a two-product application on a laptop. Pick a callout to see which part of the screen it explains.

Screen 1 of 2

The application on a phone

The application on a phone: Prefill, custom questions, documents, identity and eSignature in one flow.

Prefill, custom questions, documents, identity and eSignature in one flow.

Three steps of a vehicle loan application as an applicant sees it on a phone: known details prefilled for a member, a lender-defined question, inline validation, document upload, identity verification in session, the signature, and a pre-qualified offer after submit.

Role

  • Software engineer at Bhavna Software India, on MeridianLink's products from August 2022 to September 2024.
  • Created core components, and coded across HTML, CSS, JavaScript (ES6 and later), TypeScript, React, C#, VB.NET and ASP.NET Core.
  • Wrote maintainable, testable code with NUnit and Moq.
  • Worked with the client on requirement analysis for stories and tasks, system design, and product enhancements.
  • Managed deployments and monitoring through Azure Monitor and Azure Blob Storage.

Constraints

  • Mobile-first flows that still had to cover identity verification, document upload and eSignature end to end.
  • A security bar appropriate to a top US FinTech vendor, with Azure Blob Storage and Azure Monitor in the deployment path.
  • Legacy VB.NET and MSSQL systems that had to be extended, not replaced.
  • Applications submitted here land in Consumer and Opening, so every field had to mean the same thing on both sides.

Architecture

A mobile-first UI with configurable forms and cross-sells, over an ASP.NET Core API that owns workflow automation, with EF Core on MSSQL for application records. eSignature, identity verification and the MeridianLink Consumer and Opening products plug in alongside.

Mobile-First UICustom forms & cross-sellsASP.NET Core APIWorkflow automationEF CoreData access layerMSSQLApplication recordseSignatureIdentity verificationMeridianLink Consumer & OpeningAzure Blob Storage

Key decisions

  • Configurable application flows. Forms, cross-sells and verification steps are configuration, so a lender can change a journey without a release.
  • Reusable React components. One component set across modules kept the UI consistent and let modules used by thousands of applicants ship on time.
  • Request-cycle optimisation. API bottlenecks were addressed at the request and response level rather than hidden behind loading states.
  • Working with the US teams directly. Refining legacy interfaces into modern ones went faster when the people who owned the old behaviour were in the conversation.

How I worked

Straight from the client
Requirement analysis for each story and task happened with MeridianLink directly, so system design and enhancement ideas came from the people who own the product.
Sprint rhythm
Feature planning, sprint discussions and peer code reviews, with work tracked in Jira and designs handed over in Figma.
Tested as it ships
Unit tests in NUnit with Moq for the services behind each change.
AI assistants, used deliberately
GitHub Copilot and ChatGPT to speed up feature work, troubleshoot issues and support code reviews.

Results

A smoother, more automated application experience aimed squarely at reducing drop-off: modules I delivered on my own, used by thousands of applicants, on one shared component set over faster APIs.

1,000+
end users on modules I delivered
5
applicant steps built into one flow
2
years on the MeridianLink stack

Stack

  • ASP.NET Core
  • C#
  • VB.NET
  • Web API
  • EF Core
  • MSSQL
  • React
  • TypeScript
  • JavaScript (ES6+)
  • NUnit + Moq
  • Azure Blob Storage
  • Azure Monitor
  • Jira
  • Figma