TransactIQ
Real-time transaction intelligence platform for Indonesian fintech & SMEs: event-driven anomaly detection with Kafka streaming, a high-throughput Go consumer writing to ClickHouse, a rule-based risk engine, and natural-language analytics powered by an LLM.
Overview
TransactIQ is a real-time transaction intelligence platform that gives Indonesian SMEs and mid-size fintechs the kind of fraud monitoring normally reserved for big tech. Every transaction hits a FastAPI gateway and is published to Kafka in under 5ms, then consumed in parallel by two workers: a Go consumer that batch-inserts into ClickHouse for millisecond OLAP analytics, and a Python rule-based risk engine that scores transactions (high value, suspicious category, velocity) and flags anomalies. Flagged cases flow through a Kafka alerts topic to a WebSocket broadcaster for live operator notifications, and analysts can query the data in plain Bahasa Indonesia via an NL2SQL layer. A Next.js dashboard visualizes summaries, timeseries, and merchant rankings.
The Challenge
- Designing an event-driven architecture that keeps ingest latency in single-digit milliseconds while running OLAP aggregations over millions of rows, layered risk scoring with sliding-window velocity checks, and safe LLM-generated SQL, all reproducible with a single docker compose up.
The Solution
- Split the hot path across specialized components: Kafka for durable, partitioned event streaming; a Go 1.
- 22 consumer (goroutines + batch inserts) for high-throughput ClickHouse writes; PostgreSQL for ACID anomaly cases; and Redis for sliding-window velocity checks and NL2SQL response caching.
- The NL2SQL layer uses Groq (Llama 3.
- 3-70b) with a SELECT-only guard so natural-language queries can never mutate data.
- Prometheus and Grafana provide end-to-end observability, and the whole stack is containerized with Docker Compose.