Case Study · MSIS Company

Mifos Fineract — Core Banking Platform

Open-source core banking, hardened for enterprise scale.

Mifos Fineract Core Banking — Win Naing Soe project case study
Role
Senior Full-Stack Software Engineer
Period
Feb 2025 — Present
Client
MSIS Company
Domain
Core Banking · Microfinance · Lending
/ Overview

Architected and shipped scalable banking microservices on the Mifos Fineract platform — extending the open-source core for production-grade lending, savings, and accounting workflows used by financial institutions.

/ Problem & Challenge

Financial institutions operating microfinance lending required localized interest calculations, flexible loan repayment schedules, and immutable double-entry ledger audits that default Apache Fineract distributions could not handle cleanly out-of-the-box.

/ Architecture & System Decisions

Decomposed lending capabilities into modular Spring Boot microservices backed by an isolated PostgreSQL double-entry financial ledger, secured with Spring Security OAuth2/JWT and containerized with Docker for reproducible zero-downtime rollouts.

/ Engineering Trade-offs
⚖ TRADE-OFF DECISIONMicroservice Boundaries vs Monolithic Speed: Accepted the operational cost of inter-service network boundaries and distributed transaction logging in exchange for independent deployability and isolated financial domain auditing.
⚖ TRADE-OFF DECISIONStrict Synchronous Ledger Writes vs Eventual Consistency: Enforced ACID-compliant transactional ledger commits synchronously rather than async messaging queues to completely eliminate balance calculation races.
/ Impact

Launched 3 new microservices banking projects to production, with a focus on data integrity, auditability, and zero-downtime deployments.

/ Highlights
  • ◆Designed domain-driven banking modules on top of Apache Fineract.
  • ◆Containerised the full stack with Docker + Gradle for reproducible builds.
  • ◆Hardened REST APIs with Spring Security & granular role-based access.
  • ◆Modernised the Angular admin UI for daily operator workflows.