An LSTM-based stock market prediction model with a real-time dashboard. A learning project that turned into a working forecasting tool — and taught me more about model interpretability than any course did.
I wanted to learn time-series forecasting properly — not by watching tutorials, but by shipping something. The brief I gave myself: build an LSTM stock predictor with a real-time UI that someone other than me could actually use.
The constraint of "someone else has to be able to use this" turned out to be the most useful design decision. It forced interpretability questions early, instead of leaving them to the end.
The architecture is deliberately simple:
I deliberately resisted the urge to add more layers, ensemble methods, or attention mechanisms. The goal was a clean baseline I actually understood, not the highest possible accuracy on a held-out test set.
The dashboard works. You can pick a ticker, set a forecast horizon, train the model live, and see predictions with reasonable confidence bands.
More importantly, I built a structured intuition for:
Two things stuck with me:
First, interpretability is a design choice, not a final step. If you build it in from day one, your model gets simpler and your debugging gets faster. If you bolt it on after, you're reverse-engineering your own work.
Second, shipping the UI changes everything. The dashboard forced me to think about what a non-modeler would actually want to see, which reshaped what I trained the model to predict. That feedback loop doesn't exist when you stop at a Jupyter notebook.