Projects
Personal projects built from public knowledge and my own designs.
Integration gateway demo
An interactive simulation of a bank-to-core payment. Break the connection and watch idempotency keys, retries and status inquiry decide whether a customer is charged twice.
ADR: database-per-tenant isolation
How I would separate bank customers' data in a multi-tenant integration platform, with options considered and consequences.
Reference architecture
- Frontend: Next.js (App Router), TypeScript — Static export, served from S3 + CloudFront
- Backend: Java, Spring Boot — Tenant-aware API, per-tenant data source routing
- Data: PostgreSQL on AWS — Control database plus one database per tenant
- Connectors: AWS Lambda, SQS/SNS — Adapters to core banking interfaces, retry and DLQ
- Identity: Keycloak — Realm per environment, tenant claim in the token
The demo is a front-end simulation; the Spring Boot and AWS pieces above are the planned production shape, not yet deployed here.