Skip to content

System Overview

ReversePilot is a comprehensive loan origination system (LOS) designed specifically for reverse mortgage lending. This document provides a high-level overview of the system architecture, core components, and key workflows.

Core Components

1. Loan Management

The heart of ReversePilot is the loan management system, which handles:

  • Loan Creation: Initial application setup with borrower and property information
  • Loan Processing: Document collection, verification, and data entry
  • Underwriting: Review, conditional approval, and clear to close
  • Closing: Document preparation and closing coordination
  • Post-Closing: Funding, shipping, and investor reporting

2. Document Generation

Automated document generation system:

  • Hard-Coded Documents: Pre-built templates for standard forms (Notes, Mortgages, Disclosures)
  • Dynamic Documents: Documents generated from loan data
  • Document Packages: Collections of documents for specific purposes (closing, disclosures)
  • Document History: Tracking of all generated documents

3. Compliance Management

Regulatory compliance features:

  • HMDA Reporting: Home Mortgage Disclosure Act data collection and reporting
  • MCR Reporting: Mortgage Call Report generation for NMLS compliance
  • Licensing Management: Track loan officer licenses by state
  • Signature Management: Digital signature handling for documents

4. Calculations Engine

Sophisticated calculation system for reverse mortgages:

  • Principal Limit Calculation: HECM and proprietary loan calculations
  • Expected Rate: Treasury-based rate calculations
  • Amortization Schedules: Negative amortization calculations
  • Fee Calculations: Origination fees, MIP, servicing fees

5. Third-Party Integrations

Seamless integration with external services:

  • Credit Reporting: MeridianLink integration for credit reports
  • Flood Certificates: FloodCert.org integration for flood zone determination
  • Title Services: Title company integration
  • MERS: Mortgage Electronic Registration System integration
  • FHA Connection: FHA/HUD integration for HECM loans

System Architecture

graph TB
    subgraph "Client Layer"
        Web[Web Browser]
        API_Client[API Clients]
    end

    subgraph "Application Layer"
        Django[Django Application]
        REST_API[REST API]
        Auth[Authentication]
    end

    subgraph "Business Logic"
        Loan_Mgmt[Loan Management]
        Doc_Gen[Document Generation]
        Calc_Engine[Calculation Engine]
        Compliance[Compliance]
    end

    subgraph "Data Layer"
        DB[(PostgreSQL/SQLite)]
        Cache[(Redis Cache)]
        Storage[File Storage S3]
    end

    subgraph "External Services"
        MeridianLink[MeridianLink Credit]
        FloodCert[FloodCert.org]
        FHA[FHA Connection]
        MERS[MERS]
        Title[Title Services]
    end

    Web --> Django
    API_Client --> REST_API
    REST_API --> Auth
    Auth --> Django
    Django --> Loan_Mgmt
    Django --> Doc_Gen
    Django --> Calc_Engine
    Django --> Compliance
    Loan_Mgmt --> DB
    Doc_Gen --> Storage
    Calc_Engine --> Cache
    Compliance --> DB
    Loan_Mgmt --> MeridianLink
    Loan_Mgmt --> FloodCert
    Loan_Mgmt --> FHA
    Loan_Mgmt --> MERS
    Loan_Mgmt --> Title

Loan Status Workflow

ReversePilot uses a status-based workflow system:

stateDiagram-v2
    [*] --> Prospect
    Prospect --> Origination
    Origination --> Processing
    Processing --> Submitted_to_Underwriting
    Submitted_to_Underwriting --> Underwriting
    Underwriting --> Clear_to_Close
    Underwriting --> Adversed: Denial
    Clear_to_Close --> Closing
    Closing --> Funding
    Funding --> Post_Closing
    Post_Closing --> PrePurchaseQC
    PrePurchaseQC --> PrePurchase
    PrePurchase --> Sold
    Any --> Withdrawn: Withdrawal

Status Definitions

  • Prospect: Initial loan inquiry, basic information collected
  • Origination: Loan application in progress, borrower information being collected
  • Processing: Application submitted, documents being collected and verified
  • Submitted to Underwriting: Application ready for underwriter review
  • Underwriting: Underwriter reviewing application
  • Clear to Close: Approved and ready for closing
  • Closing: Closing documents prepared, closing scheduled
  • Funding: Loan funded, funds disbursed
  • Post Closing: Post-closing tasks and quality control
  • PrePurchaseQC: Quality control before sale to investor
  • PrePurchase: Ready for sale to investor
  • Sold: Sold to investor
  • Adversed: Application denied
  • Withdrawn: Application withdrawn by borrower or company

User Hierarchy

ReversePilot uses a three-tier hierarchy system:

graph TD
    Super_User[Super User]
    Company_Admin[Company Administrator]
    Company_User[Company User]

    Super_User -->|Manages| All_Companies[All Companies]
    Company_Admin -->|Manages| Own_Company[Own Company]
    Company_User -->|Works On| Assigned_Loans[Assigned Loans]

    Super_User -->|Full Access| System_Config[System Configuration]
    Company_Admin -->|Full Access| Company_Config[Company Configuration]
    Company_User -->|Permission-Based| Feature_Access[Feature Access]

Permission System

  • Permission Groups: Collections of permissions organized by functional area
  • Module-Based: Permissions organized by system modules (loans, documents, reports)
  • Role Assignment: Users can belong to multiple permission groups
  • Status Transitions: Permissions control which status transitions users can make

Data Model Overview

Core Entities

  • Company: Organization using the system
  • User: System users (loan officers, processors, underwriters, etc.)
  • Loan: Individual loan application
  • Borrower: Loan applicant(s)
  • Property: Subject property for the loan
  • LoanProduct: Product configuration (HECM, proprietary, etc.)

Key Relationships

Company
  ├── Users (many)
  ├── LoanProducts (many)
  └── Loans (many)
      ├── Borrowers (many)
      ├── Property (one)
      ├── Fees (many)
      ├── Documents (many)
      └── CreditReports (many)

Integration Architecture

  • XML-based API integration
  • Supports individual and joint credit reports
  • Retrieves reports from all three bureaus (Equifax, Experian, TransUnion)
  • Automatic data parsing and storage

Flood Certificates (FloodCert.org)

  • Property address-based lookup
  • Automatic flood zone determination
  • Integration with property records

FHA Connection

  • Address validation
  • Case number assignment
  • Certificate search
  • Financial assessment submission
  • Insurance application

MERS

  • MIN (Mortgage Identification Number) generation
  • MERS registration
  • Loan tracking

Calculation Engine

HECM Calculations

  • Principal Limit Factor (PLF) tables
  • Expected Rate from Treasury data
  • Initial MIP calculation
  • Servicing Fee Set-Aside
  • Line of Credit growth

Proprietary Calculations

  • Custom PLF tables (CSV upload)
  • State-specific age requirements
  • Custom rate structures

Document Generation

Hard-Coded Documents

  • HTML templates with Jinja2 syntax
  • Python data generators
  • PDF generation via WeasyPrint
  • Automatic field population from loan data

Document Types

  • Loan documents (Notes, Mortgages, Deeds of Trust)
  • Disclosures (TIL, GFE, HUD-1)
  • Compliance documents
  • Custom company documents

Security & Compliance

Authentication

  • OAuth2 token-based authentication
  • Password reset functionality
  • Session management

Data Security

  • Encrypted data storage
  • Secure file storage (S3)
  • Audit logging
  • Historical record tracking

Compliance Features

  • HMDA data collection
  • MCR reporting
  • License tracking
  • Signature management

Technology Stack

  • Backend: Django (Python)
  • Database: PostgreSQL (production) / SQLite (development)
  • Cache: Redis
  • File Storage: AWS S3
  • API: Django REST Framework
  • Documentation: MkDocs with Material theme

System Capabilities

For Loan Officers

  • Create and manage loan applications
  • Calculate loan proceeds
  • Order credit reports
  • Generate initial disclosures
  • Submit applications for processing

For Processors

  • Collect and verify documents
  • Enter property and borrower information
  • Coordinate with third-party services
  • Prepare applications for underwriting

For Underwriters

  • Review loan applications
  • Issue conditional approvals
  • Manage conditions
  • Clear loans to close

For Closers

  • Generate closing documents
  • Coordinate closing schedules
  • Manage closing settlements
  • Prepare funding packages

For Administrators

  • Configure company settings
  • Manage users and permissions
  • Configure loan products
  • Manage compliance requirements

Next Steps


This overview provides a high-level understanding of ReversePilot. For detailed information, see the specific documentation sections.