A regulated banking platform covering three distinct product lines: mortgage origination and servicing, retail savings accounts, and a micro-investment product. Thirty-three screens across customer and operational interfaces, with a complete back-office for payment processing, compliance, arrears management, and regulatory reporting. . No off-the-shelf core banking system underneath.
The client is not named here. They are building something in financial services that they consider, with good reason, to be commercially sensitive, and they have chosen discretion over early publicity. We think that's entirely reasonable: companies with breakthrough business models don't typically announce themselves before they're ready. What we can do is describe the technology we built for them in full, because that belongs to the conversation about what ESRE Media is capable of.
This platform sits alongside a companion property acquisition platform (a separate project) with which it shares a data layer. The two systems operate with separate scopes and regulatory boundaries, but are designed to interoperate at specific handoff points. Building software for financial services is not itself a regulated activity. Operating the bank (accepting deposits, extending credit, providing investment products) is where regulation applies, and that licensing sits with the operating entity. Our commission was to build the technology. The compliance architecture that informed the build is described below.
A four-step mortgage pre-approval application covering financial profile (income, deposit, employment sector, monthly outgoings, existing debts), mortgage preferences (term from 15 to 40 years, fixed or variable rate), guarantor options with linked guarantor lookup, and supporting document upload. Borrowing capacity is calculated from a configurable income multiplier model, adjusted for guarantors. The resulting Agreement in Principle is surfaced on both the bank application and the property platform, where it informs the buyer's maximum purchasing power in real time.
Active mortgage holders can view their full account (outstanding balance, monthly payment, remaining term, total interest paid) and take actions including overpayment requests, statement downloads, payment detail updates, and redemption requests. The payment breakdown shows principal and interest separately, which is a function of the custom amortisation model described below.
Three savings products are supported from launch:
| Product | Rate (AER) | Access | Minimum |
|---|---|---|---|
| Easy Access | 3.50% | Withdraw anytime | £1 |
| Fixed Term (1 year) | 4.75% | Locked 12 months | £500 |
| Cash ISA | 3.75% | Anytime, tax-free | £1 (£20k annual limit) |
Each account shows current balance, interest earned to date, maturity date where applicable, and account status. FSCS deposit protection messaging (£85,000 coverage) is included throughout the savings interface. Savings balances can be linked to the buyer's deposit position on the property platform.
A micro-investment product allows customers to allocate capital to property-backed funding opportunities. Investor onboarding is a four-stage process: KYC and identity verification, risk appetite assessment (conservative, moderate, aggressive), an FCA-mandated appropriateness assessment covering capital at risk, minimum hold periods, and CIS regulatory notices, and initial funding via bank transfer or card. The minimum investment is £100. Investors can browse available opportunities by investment type and risk category, allocate to a general pool or hand-pick individual cases, and request withdrawals subject to liquidity. Active portfolios show total invested, yield earned, and average yield percentage.
The mortgage servicing engine uses a linear amortisation model rather than the standard declining-balance method used by most UK lenders. In a linear amortisation mortgage, the principal repayment is fixed each month (total loan ÷ term in months). Interest is calculated monthly on the remaining balance, declining over time as the principal falls. The result is a lower total interest cost and faster equity accumulation compared to a traditional front-loaded mortgage. Equity builds from day one rather than accumulating slowly in the early years. The payment batch engine calculates the correct principal and interest split for every active mortgage in the book, updates equity positions after each payment batch, and generates monthly statements.
Direct Debit mandates are managed via GoCardless. No bank details are stored on the platform. Monthly collection runs are tracked per account. Failed payment handling follows a three-attempt retry schedule (3 working days, then 5, then 5), with automatic escalation to the arrears workflow after maximum retries are exhausted.
A four-stage escalation timeline activates automatically when a payment is overdue:
The forbearance mechanism includes an equity swap option: a borrower in arrears can elect to reduce their ownership percentage of the property in exchange for clearing their arrears balance. This prevents enforcement action while preserving the co-ownership structure. The platform calculates and presents the equity swap terms automatically based on current arrears and current property valuation.
The operations interface includes AML monitoring for ongoing transaction compliance, credit engine workflows for income and deposit verification during underwriting, a regulatory reporting module built for FCA sandbox requirements, and an interest calculation engine for savings accrual and investment yield distribution. Capital adequacy tracking and customer due diligence records are maintained throughout.
Shared graph data layer. The financial platform and the property platform share a graph data layer (engage.re) with a scope-based visibility model. A customer's personal financial profile (income, deposit amount, pre-approval status) is sovereign data on their person node, accessible to both applications by design. Mortgage data is private to the financial application scope; it flows to the property platform only via context links for specific handoff events (agreement in principle display, completion notification, equity dashboard population). No data is duplicated between applications.
Session security. The financial application enforces a 15-minute inactivity session timeout, configurable at the deployment level. Bank clients are wrapped in a distinct API client with session management separate from the property platform.
Linear amortisation as competitive differentiation. The custom amortisation model is not a standard library function. It is a bespoke calculation engine. The payment batch system reads all active mortgages, applies the fixed-principal formula, updates equity positions, and generates statements. The difference in total interest paid over a 25-year term relative to a traditional declining-balance mortgage is materially significant and is surfaced to customers in the mortgage detail view.
Tech stack: React 18 · TypeScript · Vite · GoCardless (Direct Debit) · KYC provider integration · Credit bureau integration · Graph API (engage.re) · JWT with session timeout · Monorepo (pnpm workspaces)
ESRE Media runs its entire pipeline, partner network, and commission tracking on a system we built ourselves, on the same graph architecture. We are growing fast, and if you know organisations that need better digital systems, referral partners earn 15% on project delivery.
Find out how partnerships work