Sentinel
Sentinel is a fraud detection research platform for anonymized credit card transactions, with a training pipeline, a FastAPI scoring service, and a React triage dashboard.
- Status
- v0.2.0
- Updated
- Sep 2026
- Tools
- Python, FastAPI, React, scikit-learn, Postgres, Redis

The problem
Sentinel is a fraud detection research platform for anonymized credit card transactions, with a training pipeline, a FastAPI scoring service, and a React triage dashboard.
What I built
Trained logistic regression, random forest, and isolation forest models on 284K card transactions and scored them on imbalance-aware metrics like PR-AUC, recall at precision, and F2.
How it works
- Synthetic data is the default path so CI and local demos do not require a Kaggle account.
- Accuracy is intentionally not a primary metric. The dashboard and reports lead with PR-AUC, recall at fixed precision, cost-weighted loss, and threshold confusion matrices.
- Logistic regression, random forest, and isolation forest are implemented as sklearn model adapters. XGBoost, LightGBM, PyTorch autoencoder, stacked ensemble, and true SHAP remain tracked production gaps in docs/REQUIREMENTS_AUDIT.md.
Tradeoffs and limits
This project does not currently have a hosted demo. Run and verification instructions live in the repository when available.
What I learned
Served models through a FastAPI scoring API that sends the top 5 risk factors per transaction to a React dashboard with drift monitoring, backed by a Redis job queue and a Postgres store.