← All work

Finstox

The backend for Finstox, a stock-trading demo website built for a Web Programming course, with no real trading. It serves LSTM price predictions for NSE stocks with a LIME and SHAP explanation for every prediction.

Area
Fintech · XAI
Role
Backend
Stack
Python, FastAPI, TensorFlow/Keras, LIME, SHAP, JWT auth
Links
GitHub
The backend's real routes. /predict/{symbol} serves the LSTM forecast.

Problem

A predicted price on its own gives a non-technical user no way to judge whether to trust it, or what the prediction is based on.

Users

Non-technical users of the Finstox demo site who want to understand a prediction before acting on it.

Constraints

  • A course project and demo, with no real money involved.
  • Only free public market data, fetched through yfinance and nsepython.

What I built

  • A FastAPI service with JWT authentication, NSE market status, stock search suggestions and company logos.
  • An LSTM model (TensorFlow/Keras) trained on recent price history for NSE stocks.
  • LIME and SHAP explanations for each prediction, so users can see which inputs moved the forecast.

Trade-offs I made

  • An explanation for each prediction.Users ask about one stock at a time, so each forecast gets its own LIME and SHAP breakdown.