Xw3qBlog logoXw3qBlog

← Back to Home

From Power BI to a Full-Stack Loan Pre-Check Demo

24 views·Like (0)·0 comments
From Power BI to a Full-Stack Loan Pre-Check Demo

Starting from a Power BI assignment on the Home Credit Default Risk dataset, I extended the project into a multilingual full-stack machine learning demo called HomeCredit Scout. This article shares the journey from data analysis to product prototyping using LightGBM, FastAPI, PostgreSQL, React, and practical considerations such as privacy and multilingual UX.


From Power BI to a Full-Stack Loan Pre-Check Demo

Sometimes the most valuable learning happens after the assignment has already been submitted.

Earlier this term, I completed a data analytics assignment based on the Home Credit Default Risk dataset. The coursework focused on exploring the data and presenting meaningful insights through a Power BI dashboard. Like many analytics assignments, the primary goal was to clean the data, identify patterns, and communicate findings effectively.

That fulfilled the assignment requirements—but it also sparked a new question.

If a dashboard can explain credit risk, could the same data also power an interactive application that feels closer to a real-world product?

That question became the starting point for HomeCredit Scout, a small full-stack machine learning demo that extends the original assignment into an end-to-end application.

---

The Original Assignment

The coursework required building a Power BI dashboard using the Home Credit Default Risk dataset.

The project involved:

  • Cleaning and preparing the dataset
  • Exploring relationships between applicant characteristics and default risk
  • Building visualisations to communicate insights
  • Presenting findings through an interactive dashboard

Power BI was an excellent tool for understanding the data. Creating visualisations forced me to ask questions about the dataset rather than simply running machine learning algorithms.

Some of the insights discovered during the analysis later influenced how I selected features for the prediction model.

Suggested image: Power BI dashboard overview

---

Going Beyond the Assignment

Instead of stopping after the dashboard was complete, I wanted to see what would happen if the analysis became part of an actual application.

Rather than displaying historical information, the application would allow a user to enter their own information and immediately receive a prediction.

The result became HomeCredit Scout.

The goal was not to build a production banking system, but to demonstrate how data analysis, machine learning, backend APIs, databases, and frontend development can work together in a single project.

---

What HomeCredit Scout Does

The application provides a simple loan pre-check experience.

Users can:

  • Enter approximately 25 applicant and loan-related fields
  • Receive an Approve or Decline recommendation
  • View a suggested maximum loan amount (when approved)
  • Read short explanations describing positive factors, concerns, and recommendations

The interface is intentionally simple so that users can focus on understanding the prediction rather than learning a complicated workflow.

It is important to note that this is an educational prototype, not a real lending decision engine.

Suggested image: Assessment form
Suggested image: Result page showing approval decision and suggested maximum loan amount

---

Technical Architecture

The project combines several technologies across the full stack.

Machine Learning

The prediction model uses LightGBM for binary classification.

A focused subset of application features was selected so that users could realistically complete the assessment form without needing hundreds of input variables.

The API applies a configurable decision threshold to determine approval. When an application is approved, the backend performs an additional search to estimate the highest loan amount that still satisfies the acceptable risk threshold.

---

Backend

The backend is built using:

  • FastAPI
  • Pydantic
  • SQLAlchemy

FastAPI provides a clean REST API while Pydantic handles request validation. SQLAlchemy manages communication with PostgreSQL.

---

Database

The project uses PostgreSQL running inside Docker.

Containerising the database makes local development straightforward and keeps the project easy to reproduce.

---

Frontend

The frontend is developed with:

  • React
  • TypeScript
  • Vite

The interface is responsive and works across desktop, tablet, and mobile devices.

To simplify local development, start and stop scripts are included for both frontend and backend services.

---

Multilingual Support

One feature I particularly enjoyed implementing was multilingual support.

The application currently supports:

  • English
  • Simplified Chinese
  • Traditional Chinese
  • Japanese
  • Korean

The selected language is remembered in the browser, and all assessment feedback is returned in the chosen language.

Although this feature is relatively small from a technical perspective, it makes the demo feel significantly more accessible.

Suggested image: Language selection or multilingual interface

---

Privacy Considerations

Even though this is only a student demonstration project, I wanted to incorporate some privacy-focused design.

The application includes:

  • A Privacy Notice page
  • Mandatory consent before submission
  • Consent version tracking
  • Timestamp recording for audit purposes

The Privacy Notice was written with the principles of New Zealand's Privacy Act 2020 in mind for a demonstration context. It is not intended as legal advice, but it reflects the importance of considering privacy from the beginning of software development rather than treating it as an afterthought.

---

What I Learned

Looking back, I realised that the dashboard and the web application taught me very different skills.

The Power BI assignment helped me:

  • Understand the dataset
  • Explore relationships
  • Communicate findings visually

Building HomeCredit Scout required me to:

  • Select practical machine learning features
  • Design prediction APIs
  • Validate user input
  • Build frontend interfaces
  • Connect backend services
  • Consider multilingual user experience
  • Think about privacy and consent
  • Deploy an application architecture instead of a notebook

Both projects used the same dataset, but they represented two completely different stages of the data lifecycle.

One focused on understanding the data.

The other focused on turning that understanding into a usable application.

---

Source Code

The complete project is available on GitHub:

Repository

https://github.com/petercontinue/HomeCreditDefaultRisk

The repository includes:

  • Complete source code
  • Setup instructions
  • API documentation
  • Model training notes
  • Multilingual implementation details
  • Docker configuration

Large raw CSV files are intentionally excluded from version control. They can be downloaded separately from Kaggle if you wish to retrain the model. Demo model artifacts are included so the application can run after a standard setup.

Suggested image: GitHub repository page

---

Final Thoughts

The Power BI dashboard remains the official assignment submission.

HomeCredit Scout is simply what happened when curiosity continued after the coursework was finished.

This project reminded me that assignments do not always have to be the end of the learning process. Sometimes they can become the foundation for something much more practical.

For me, building the additional application was an opportunity to connect data analytics, machine learning, software engineering, and user experience into a single project.

If you work in data analytics, machine learning, or full-stack development, I'd love to hear your thoughts or suggestions for improving the project.

---

Disclaimer

HomeCredit Scout is an educational demonstration project only. It does not provide financial or credit advice and is not affiliated with Home Credit as a production lending decision system.

About petercontinue

peter love study

Comments

Sign in to leave a comment.

  • No comments yet. Be the first to comment.