BankFlow is a next-generation financial technology application developed to accelerate credit allocation decisions, increase reliability, and ensure operational efficiency in banking processes.
Thanks to its hybrid decision engine that combines Deep Learning and Rule-Based algorithms, it performs risk scoring in seconds and explains the reasons for the decision (XAI).
The system doesn't just make a "Reject" or "Approve" decision; it analyzes the mathematical reasons behind the decision.
- Risk Indicator: Visual risk analysis with scoring between 0-1900.
- Decision Support: Final decision recommendation based on model results and bank policies.
- Impact Analysis: XAI graph showing how factors like age, income, and maturity affect the score.
Separated interfaces for Branch Manager and Staff with Role-Based Access Control (RBAC) architecture.
| Login Screen | Password Setup |
|---|---|
![]() |
![]() |
| Secure login with corporate email. | Password setup for staff authorized by the manager. |
| Staff Panel | Manager (Admin) Panel |
|---|---|
![]() |
![]() |
| Simplified credit application screen. | Branch performance, batch query, and settings. |
- 🧠 Hybrid Decision Engine: Combination of TensorFlow (Neural Network) and Banking business rules.
- 🔍 Explainable AI (XAI): Transparently explains why the customer was rejected or approved.
- 📄 Automated Reporting: Analysis results can be instantly downloaded as a PDF in corporate format.
- 📂 Batch Processing: Ability to analyze thousands of customers simultaneously by uploading an Excel list.
- 📊 Management Panel: Branch and staff-based turnover, approval rate, and performance charts (Plotly).
- 🛡️ High Security: Encryption with
bcrypt, SQL Injection protected database structure, and secure session management.
- Programming Language: Python 3.x
- Interface (UI): Streamlit
- AI & ML: TensorFlow, Keras, Scikit-Learn
- Data Processing: Pandas, NumPy
- Visualization: Plotly, Matplotlib
- Database: SQLite3
Follow the steps below to run the project on your local machine:
git clone [https://github.com/mustafaatunc/BankFlow.git](https://github.com/mustafaatunc/BankFlow.git)
cd BankFlowpip install -r requirements.txtCreate a file named .env in the root directory and write the password you want to use for admin login inside it:
ADMIN_PASSWORD=StrongPassword123
Before launching the application for the first time, you need to train the AI model and generate the pkl files:
python main.pypython -m streamlit run app.pyWhen the application starts, you can log in with the default admin account:
- Email:
admin@admin.com - Password: The password you wrote in the
.envfile.
© Copyright & License © 2026 Mustafa Tunç. All Rights Reserved. This repository is strictly for portfolio and academic demonstration purposes. No part of this code may be reproduced, distributed, modified, or used for any commercial or personal projects without explicit written permission from the author.




