Financial monitoring for a bank
The system continuously pulls customers, accounts, balances and transactions from core banking: about 20 million Kafka messages a day, which arrive in roughly 4 hours. The same business day it runs them through the rules: risk criteria and suspicious-activity indicators.
Every hit adds points to the customer’s score. Once the score is high enough, the system opens an alert, and an analyst and controllers review it. In a quarterly session about 300 rules go through 1.5 billion rows; most rules analyze transactions, which make up 95% of all records in the database.
Stack: Node.js, TypeScript, Kafka, Oracle, PL/SQL, Redis, React
- 20M messages a day, in about 4 hours
- ~300 rules: risk criteria and suspicious-activity indicators
- 1.5B rows in a quarterly session
- 95% of the records in the database are transactions
- Kafka
- Parsing
- Rules
- Score
- Alert
- Decision