An automated real estate underwriting model monitoring and visualization system for B&R Capital.
The Underwriting Dashboard is a comprehensive application designed to streamline the process of monitoring, analyzing, and visualizing real estate underwriting models. It automatically tracks deal folders, extracts key data from Excel models, stores the information in a database, and presents it through an interactive dashboard.
-
Automated File Processing
- Automatically identifies relevant underwriting models in deal folders
- Extracts data based on predefined cell references
- Processes updates when files change
-
Interactive Dashboard
- Real-time data visualization
- Multiple views: tables, maps, analytics
- Filtering and search capabilities
- Export functionality
-
Real-time Monitoring
- Continuous monitoring of deal directories
- Automatic database updates
- Background processing to maintain application responsiveness
-
Responsive Design
- Optimized for both desktop and mobile viewing
- Adaptive layout based on screen size
- Mobile-friendly controls and navigation
├── config/ # Configuration files
├── database/ # SQLite database files
├── logs/ # Application logs
├── notebooks/ # Jupyter notebooks for testing
├── prompt/ # Excel reference files
├── src/ # Source code
│ ├── dashboard/ # Streamlit dashboard components
│ ├── data_processing/ # Excel data extraction utilities
│ ├── database/ # Database management
│ └── file_monitoring/ # File system monitoring
└── tests/ # Test files
-
Clone the repository
-
Set up the environment
conda env create -f environment.yml conda activate underwriting-dashboard -
Configure the application
- Edit
config/config.pyto set your deal directories and other parameters
- Edit
-
Run the application
python main.pyAlternatively, use the batch file:
run_monitoring.bat
- After starting the application, the dashboard will be available at http://localhost:8501
- Use the filters to narrow down deals by various criteria
- Switch between table view, map view, and analytics view
- Export data as needed using the export options
- Python: Core programming language
- Streamlit: Dashboard framework
- Pandas: Data processing and analysis
- SQLite: Database storage
- Plotly/Folium: Data visualization and mapping
- Watchdog: File system monitoring
To contribute to the development:
-
Make sure all tests pass before submitting changes
# Run tests pytest tests/ -
Follow the existing code style and structure
Proprietary - B&R Capital