
Deutsche Bank · Banking & Financial Services
The Client
Deutsche Bank is one of the world's leading financial institutions, headquartered in Frankfurt, Germany. Founded in 1870, the bank operates in over 70 countries with around 90,000 employees, serving millions of clients across investment banking, corporate banking, private banking, and asset management.
Founded
1870
Headquarters
Frankfurt

The Challenge
Deutsche Bank needed new payments and user management modules that could handle high transaction volumes with strict consistency and audit requirements. The existing systems were tightly coupled, making it hard to iterate on payment flows or user lifecycle changes without risking regressions. Frontend teams needed flexible data fetching across multiple domains without waiting on backend changes for every new screen. Everything had to meet banking-grade security and compliance standards.
The Solution
I built the payments and user modules as Java Spring Boot microservices with a GraphQL API layer. GraphQL gives frontend teams exactly the data they need in a single request, with no over-fetching and no waiting on new REST endpoints. Kafka handles async payment events and user state changes with guaranteed ordering. The whole thing runs on Azure with AKS, fully containerized and deployed through CI/CD pipelines.
Technology Stack
Java Spring Boot services behind a GraphQL API, running on Azure with Kafka for async flows, containerized with Docker and orchestrated on Kubernetes.
GraphQL sits in front of the microservices as the API gateway for frontends. One query can pull user details, payment history, and account status in a single round trip. Schema-first development means frontend and backend teams work in parallel. Mutations handle payment initiation and user updates with proper validation and error handling.
Results & Impact
60%
Fewer data round trips
Zero
Downtime releases
70+
Countries served
I've built payments, compliance, and security at banking scale. Let's talk.