Enterprise Banking Fraud Monitoring Platform
An enterprise-style transaction monitoring platform combining fraud rules, machine-learning anomaly detection and analyst investigation workflows.

- Role
Sole author — scoring engine, alert workflow and ML service
- What it does
Scores transactions with rules plus an ML model and routes alerts to analyst review.
- Built with
- Java 21
- Spring Boot
- PostgreSQL
- Redpanda
- FastAPI
- scikit-learn
- Next.js
- Flyway
- Docker
Overview
A simulation of how a bank or FinTech would monitor transactions for fraud. Every transaction is scored twice: a Spring Boot rule engine runs seven pluggable rules, including cross-customer fraud-ring detection over shared device IDs and IP addresses, then calls a FastAPI service for an Isolation Forest anomaly score, and the two are combined into a single result. If the ML service is unreachable a circuit breaker trips and scoring continues on rules alone, so fraud scoring never blocks a transaction. Transactions arrive either over REST or through Kafka-compatible Redpanda streaming, with a dead-letter topic for anything that fails. Alerts feed an analyst workflow — assignment, bulk operations, escalation, SLA policies with breach tracking, and investigation cases with their own activity timeline — while customer records carry PII encryption at rest, an aggregated risk view and a lock-and-unlock workflow that requires admin approval. Every state change is written to an immutable audit trail.
What it does
- Hybrid scoring: a seven-rule engine combined with an Isolation Forest anomaly score
- Fraud-ring detection linking customers by shared device ID or IP address
- Circuit breaker that falls back to rule-only scoring when the ML service is unreachable
- Streaming ingestion over Kafka-compatible Redpanda with a dead-letter topic
- Analyst workflow with alert assignment, bulk operations, escalation and investigation cases
- SLA policies with breach and near-breach tracking
- Customer risk view, PII encryption at rest and an approval-gated account lock workflow
- Immutable audit trail behind every state change
Interface
Captures from the project's own repository.

Transaction monitoring 
Fraud alerts 
Customer Risk 360 
ML service monitoring
Want the detail behind this? Ask me about it.