An AI-powered web app built for the IndabaX Zimbabwe 2026 Hackathon. Using a CatBoost model trained on real Zimbabwean bank data, it predicts loan default risk to help financial institutions make smarter, faster lending decisions.
# Zimbabwe Loan Default Prediction App
This is a Streamlit app for estimating loan default risk for Zimbabwe banking-sector loan applications. It uses a saved CatBoost model and the same feature engineering logic used during training.
The app is meant to support credit-risk screening. It should not replace a final human credit decision.
## Live Demo
If you want to access the demo, press this link:
zimbabwe-loan-defaults-pred…
## What The App Includes
- Single-loan risk prediction with plain-English risk factors and review steps.
- Batch CSV scoring for files with the same columns as `Test.csv`.
- Portfolio dashboard charts from `Train.csv`.
- Optional AI assistant, Brighty, for explaining scores and review next steps.
## Project Structure
```text
zindi/
|-- app.py # Main Streamlit application
|-- model.pkl # Saved CatBoost model
|-- features.pkl # Saved feature list used by the model
|-- Train.csv # Training data used for dashboard charts
|-- requirements.txt # Python packages needed to run the app
|-- runtime.txt # Python version for Streamlit Cloud
|-- .streamlit/
| `-- config.toml # App theme settings
|-- README.md # Setup and usage guide
`-- .gitignore # Files GitHub should ignore
```
## How To Run Locally
Open a terminal in this project folder, then run:
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m streamlit run app.py
```
After Streamlit starts, open the local URL it prints, usually:
```text
localhost
```
## Required Files
The app needs these files in the same folder as `app.py`:
- `model.pkl`
- `features.pkl`
- `Train.csv`
Without them, the model or dashboard will not load.
Before making the repository public, confirm that the competition rules allow you to publi …