
Serenity
Serenity is a personal finance manager built with a microservices architecture using Spring Boot (Java) and Apache Kafka. The platform features a dedicated Plaid Service for secure bank account synchronization and a separate Transaction Processor Service for event-driven transaction processing. This decoupled architecture ensures better scalability and fault tolerance while maintaining real-time data synchronization.
Challenges
The main challenges included designing a scalable microservices architecture that could handle high-volume transaction processing while maintaining data consistency. Ensuring reliable communication between services and implementing proper error handling across the distributed system required careful orchestration.
Solution
I architected a microservices-based solution using Spring Boot (Java) and Apache Kafka to decouple Plaid data ingestion from transaction processing. Created a dedicated Plaid Service to handle bank synchronization and publish events to Kafka topics, while building an independent Transaction Processor Service to consume events, perform enrichment, and persist data to Supabase Postgres. The entire system is containerized with Docker Compose and deployed on EC2 for reliable production-grade orchestration.
Key Features
Project Gallery
Interested in working together?
I'm always open to discussing new projects and opportunities.
Get in Touch