Convsync · Full-Stack Engineer · Feb 2024 – Dec 2024
Reporting Performance Overhaul
Moved reporting workloads to PostgreSQL and Redis as part of a microservices modernization, cutting dashboard load time from 12s to under 2s.
Private codebase. A walkthrough is available on request.
12s → <2sDashboard load time
Problem
Reporting dashboards took around 12 seconds to load, while the wider legacy application was being modernized into microservices.
My role
As a Full-Stack Engineer, migrated the reporting workloads and built REST APIs for the modernized services, along with React dashboards, auth and CI/CD.
Architecture
Key technical decisions
Dedicated reporting store
Reporting workloads were migrated to PostgreSQL, separating them from the legacy application.
Cache in front of reports
Redis serves frequently requested report data, which together with the migration brought dashboard loads from 12s to under 2s.
Incremental modernization
The legacy application was split into Spring Boot and .NET Core microservices with Clean Architecture, exposing REST APIs with Spring WebFlux and .NET 6.
Secure by default
JWT/OAuth 2.0 and role-based access control across the services, with GitHub Actions CI/CD and automated tests in JUnit and xUnit.
Results
- Dashboard load time cut from 12s to under 2s.
- Improved maintainability and deployment efficiency after the move to microservices.
Stack
- PostgreSQL
- Redis
- .NET 6
- Spring WebFlux
- React 18
- TypeScript
- Tailwind CSS
- Angular
- GitHub Actions