Skip to content

om-gorakhia/Banking-AI-advisor

Β 
Β 

Repository files navigation

πŸ’° PulseFi

A Smart Banking Dashboard Built for Gen Z

Real financial data. Real AI recommendations. Zero backend.

Live Demo Β  Built with JS Β  Powered by Gemini

Β 

PulseFi is a fully interactive banking dashboard designed specifically for 18 to 30 year olds in Singapore. It combines a real time banking UI, pre generated AI recommendations from Gemini, and a machine learning Financial Health Index engine β€” all running entirely in the browser with no backend, no build step, and no npm required.

Every button works. Every financial action updates your balance live, recalculates your financial health score, and syncs across all six screens instantly.

Β 

What It Looks Like

Screenshots coming soon β€” clone the repo, open http://localhost:8080, and see it for yourself. Or just click here to try the live demo.

To add screenshots: take captures of the six screens, save them as screenshots/home.png, screenshots/health.png, etc., and commit them. The image tags below will auto resolve.

Home Dashboard Financial Health
Home Screen Financial Health
Pulse AI Recommendations FHI Engine
Pulse AI FHI Engine
Savings Goals Investments
Savings Goals Investments

Β 

Try It Right Now

The fastest way to explore PulseFi is the live deployment on Vercel:

banking-mu-murex.vercel.app

It loads a real synthetic user profile from a dataset of 2,000 Gen Z users in Singapore. You can switch between users by changing the ?user=GZ00001 parameter in the URL. Go ahead, try GZ00042 or GZ00500.

Β 

Six Screens, One Cohesive App

Home is your command centre. It shows your total balance in SGD, your savings pots (Emergency Pot, Holiday Fund, Safe to Invest), investment portfolio summary, monthly cash flow, and savings goals progress. From here you can send and receive money, pay bills, and top up your account β€” all with real balance updates.

Financial Health gives you a clear picture of how you are doing financially with your FHI score, colour coded ratings across debt, savings rate, spending habits, and investment activity.

Pulse AI surfaces three to five personalised recommendations powered by Gemini Flash Lite. They are pre generated from your actual user data and grouped by priority: Urgent, Ready to Act, and On Track.

FHI Engine is the brain of the whole app. You enter 11 financial inputs and it runs a 6 step machine learning pipeline right in your browser to generate your Financial Health Index score, assign you a money personality, and surface your top three financial opportunities.

Savings Goals tracks your progress toward the Emergency Pot, Holiday Fund, and investment milestone. You can add money to any goal directly from this screen, and your balance updates immediately.

Investments shows your full portfolio breakdown as a pie chart, your top holdings by value, and your overall return percentage.

Β 

Every Button Is Wired Up

This is not a static mockup. Here is what actually works:

  • Send Money opens a modal where you enter a recipient and amount. Your balance drops instantly.
  • Receive Money prompts for the incoming amount and updates your balance upward.
  • Pay Bills deducts from your balance and logs the transaction.
  • Top Up adds funds via a simulated card top up flow.
  • Add to Goals moves money from your main balance into any savings pot.
  • Move to Investments transfers a savings milestone directly into your portfolio.
  • Notifications shows a live unread badge. Click to dismiss individual alerts.
  • Settings toggles profile preferences and security options.

Every financial action also silently re runs the FHI Engine in the background and syncs the updated score across all six screens.

Β 

The FHI Score Explained

The Financial Health Index score is produced by a 6 step ML pipeline that runs entirely in the browser using pre computed weights from a real training run.

Score What It Means
25 and above Financially Strong
12 to 24 On the Right Track
Below 12 Building Foundations

Scores intentionally skew lower than traditional financial indexes because investments carry 59% of the total weight. That weighting is backed by research showing investment behaviour is the strongest predictor of long term financial resilience for people aged 18 to 30.

Step 1 β€” Preprocessing: Validates age is between 18 and 30, fills missing values with medians, and removes outliers using the IQR Γ— 1.5 method.

Step 2 β€” Feature Standardisation: Converts raw inputs into 8 normalised scores including Net Worth Ratio, Debt to Income, Savings Rate, Investment Ratio, Emergency Fund Coverage, Spending Ratio, Spending Volatility, and Behavioural Discipline.

Step 3 β€” FHI Score Calculation: Applies Logistic Regression (L1) coefficients trained on a negative_event_30d outcome label to produce both a Baseline FHI and an Enhanced FHI.

Step 4 β€” XGBoost Validation: Three pre computed XGBoost models compare raw features vs Baseline FHI vs Enhanced FHI. Model A (5 raw features) reached AUC 0.671. Model C (Enhanced FHI) achieved 42.9% precision.

Step 5 β€” K Means Clustering: Groups the user into one of four money personality archetypes β€” Financially Vulnerable, Developing, Stable, or Active Investor β€” using cluster centroids pre computed from the full 2,000 user dataset with K=4 (silhouette score 0.225).

Step 6 β€” Persistence: Results are written to localStorage and synced live to every screen. Any financial action triggers a silent recalculation.

Β 

Tech Stack

Layer What We Used
Frontend HTML, CSS, Vanilla JavaScript
Charts Canvas API (no library)
AI Recommendations Google Gemini Flash Lite
FHI Algorithm Logistic Regression (L1) + K Means
ML Validation XGBoost (pre computed, weights hardcoded)
Dataset 2,000 synthetic Gen Z profiles (Singapore)
Hosting Vercel

Β 

Run It Locally

No npm. No build step. No configuration. Just a local server:

git clone https://github.com/om-gorakhia/Banking-AI-advisor.git
cd Banking-AI-advisor
python -m http.server 8080

Then open http://localhost:8080 in your browser. That is it.

Β 

Project Structure

Banking-AI-Advisor/
β”œβ”€β”€ index.html                                  Single page app with all six screens
β”œβ”€β”€ app.js                                      Navigation, user data rendering, Canvas charts
β”œβ”€β”€ app-actions.js                              AppState, modals, all action button handlers
β”œβ”€β”€ pulse-ai.js                                 AI recommendations loader
β”œβ”€β”€ fhi-engine.js                               FHI algorithm engine (all 6 steps)
β”œβ”€β”€ styles.css                                  Full design system + modal and toast styles
β”œβ”€β”€ users.json                                  2,000 user profiles
β”œβ”€β”€ recommendations.json                        Pre generated AI recommendations
β”œβ”€β”€ fhi_engine_data.json                        Pre computed ML weights and cluster centroids
β”œβ”€β”€ genz_fhi_master_dataset.xlsx                Source dataset (2,000 users, 33 columns)
β”œβ”€β”€ genz_fhi_ml_input.xlsx                      ML ready features + label
└── scripts/
    β”œβ”€β”€ extract_fhi_weights.py                  Derives weights and centroids from datasets
    β”œβ”€β”€ generate_recommendations.py             Batch generates AI recs via Gemini
    β”œβ”€β”€ generate_users_json_for_frontend.py     Converts Excel to users.json
    └── .env.example                            Template for API key (never commit the real one)

Β 

Regenerating the Data (Optional)

To retrain the FHI model weights from the raw dataset:

cd scripts
pip install pandas scikit-learn xgboost openpyxl
python extract_fhi_weights.py

This overwrites fhi_engine_data.json with freshly computed weights, centroids, and model metrics.

To regenerate AI recommendations you need a Gemini API key:

cp scripts/.env.example scripts/.env
# Open scripts/.env and set GEMINI_API_KEY=your_key_here

python scripts/generate_users_json_for_frontend.py
python scripts/generate_recommendations.py

The scripts/.env file is in .gitignore. Your API key will never be committed.

Β 

Who Built This

PulseFi was built as a proof of concept for what a Gen Z focused banking experience could look like β€” personalised, transparent about financial health, and genuinely useful rather than just a pretty balance screen.

The whole thing runs in the browser with no cloud dependency, which means it is free to host, instant to load, and easy to fork.

Β 

Made with care and deployed on Vercel Β Β·Β  Try the live demo

About

🏦 PulseFi β€” An AI-powered personal banking dashboard with smart financial health scores, spending insights, and personalized recommendations. Built with HTML/CSS/JS and Python, deployed on Vercel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 53.2%
  • CSS 20.7%
  • HTML 13.9%
  • Python 12.2%