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
Credit Reporting (MeridianLink)
- 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
- API Reference - Complete API documentation
- Architecture Details - Deep dive into system architecture
- User Guides - Role-specific documentation
- Development Guide - For developers
This overview provides a high-level understanding of ReversePilot. For detailed information, see the specific documentation sections.