MitraVault
Cloud-native banking CRM hosted on AWS with a zero-trust microservices architecture, done in collaboration with UBS.

The team behind Mitravault!
MitraVault is a banking CRM system built through SMU-X, a programme that pairs student teams with real companies. UBS co-sponsored ours, so we were building to requirements shaped by actual UBS engineers, and presenting our architecture to a panel of their senior staff at the end.
I owned the cloud infrastructure end to end. The entire deployment runs on a twelve-module Terraform codebase I authored, provisioning everything from VPC subnetting to ECS task definitions. The backend services (Client, Account, Transaction) run on ECS Fargate across two availability zones in ap-southeast-1, with Aurora PostgreSQL in an active-passive configuration and ElastiCache sitting in front for reads. The User Service runs as a Lambda behind the same ALB. Every service validates a Cognito-issued JWT on every request, and no service trusts another without a valid token.
The fraud detection pipeline is the piece I'm proudest of. Transaction records get ingested from an external SFTP server via EventBridge-triggered Lambdas, land in S3, then get processed into DynamoDB. The Anomaly Detection Lambda scores each transaction against three signals: Z-score (statistical outlier), velocity (rapid-fire transactions), and geo-shift (impossible travel between countries). When a transaction gets flagged, the AI Explainer Lambda calls Claude Haiku via AWS Bedrock to generate a plain-English explanation of why it looks suspicious, and the assigned agent gets an email alert. The whole chain runs asynchronously through SQS queues.
The network topology was where I spent the most time learning by failing. CIDR block allocation across public and private subnets, layering Security Groups with NACLs for defense-in-depth, routing traffic through NAT Gateways so containers in private subnets can reach external APIs without being directly exposed. I spent hours in Terraform debugging route table associations and security group rule ordering before things started clicking.
GDPR compliance was baked into the system early. The Client Service implements Article 17 right-to-erasure as an async cascade delete (profile, accounts, transactions, audit logs) with status tracking. Article 20 data portability lets an agent download a ZIP of a client's full data set. Audit logging runs through a centralised SQS queue consumed by a single Logging Lambda writing to DynamoDB, so the trail is consistent and tamper-resistant across every service.
UBS engineers pushed back on almost every decision in review: our failover strategy, why we picked Aurora over plain RDS, how granular our IAM policies were. Defending those choices meant actually understanding my own infrastructure well enough to justify every resource and every routing decision, not just knowing it worked.
- ROLE
- Team Project with Industry Collaboration
- OUTCOME
Nominated as a Top 3 finalist for the UBS SMU-X IT Solution Architecture Award, presenting the project at UBS Singapore Headquarters to a panel of experts across software development and AI engineering fields.
- ORGANIZATION
UBS
STACK
