Our client is a government agency responsible for water and sewage disposal in one of the largest megacities in the world. As the city’s sole provider of these services, its operations must run efficiently and seamlessly to serve over 35 million residents.
After migrating to a third-party vendor’s ERP platform, the agency found itself with more problems than it had started with. Designed primarily for RMG factories, the platform was implemented without necessary contextualization for the client’s needs. Bugs, data bloat, and system incompatibility began disrupting daily operations. What was meant to streamline the agency’s IT infrastructure had become a maze of issues.
The problems fell into three broad categories.
Broken Search Consoles & Lost Requisitions
The HR module was built on an Oracle backend, but its implementation was deeply flawed, as many search filters simply didn’t work. This caused requisitions to get lost in the system, complicating the maker/checker approval process. The agency’s three-person MIS team was reduced to manually tracking down item IDs from the database so that approvers could locate them on the frontend. This workaround regularly consumed significant amounts of time of the MIS personnel, who were needed elsewhere.
Leave encashment was a telling example. The system would display that an employee had certain unused paid leaves, but the cashable amount was incorrect due to a backend calculation error. The MIS team had to manually adjust figures from the database to produce accurate outputs. In effect, a team of three was operating as a permanent IT help desk, handling hundreds of employee-raised tickets every month.
Erroneous Business Logic
The HR module also contained flawed employee promotion and transfer logic. When an employee is promoted, the system would automatically assign them a lower grade and salary than intended. For instance, promoting an Account Officer to Senior Account Officer would result in the system recording the grade and compensation of an Account Officer. These weren’t edge cases, but systematic failures in the module’s core business rules.
Data Bloat and a Mismatched Codebase
Underlying everything was a data architecture problem of significant scale. Actions such as pulling attendance data logs triggered excessive data synchronization processes. We saw it grow from 60 GB to 90 GB in the first month and crossing 120 GB by the second. Attendance data alone consumed 6 GB every month, and a single server request for attendance records weighed 50 MB.
When we attempted to address these issues by working on the source code, a deeper problem emerged. The source code in client’s possession did not match the live environment. The original supplier had provided an older version during hand-off. Fixes that worked in development broke functioning features in production. The client inherited a system that was fundamentally difficult to maintain or improve. Further compounding the situation was missing documentation to explain why the system behaved the way it did.
The client initially requested that the faulty modules be rebuilt from scratch. We recommended fixing and modernizing them instead of replacement. Starting over would introduce new risks and implementation complexity, whereas targeted remediation would let the agency continue operating while issues were resolved incrementally. The payroll module alone had over 20 documented pain points which were systematically worked through.
Rebuilding the Frontend Layer
Rather than continuing to fight a source code that didn’t match its live environment, we developed new frontends for the existing modules and built several smaller supplementary ones. These were connected to the client’s Oracle database via API layers, allowing users to make data modifications directly from the frontend. The MIS team was freed from backend troubleshooting over phases.
The modules had originally been built on Oracle Forms, which required the Safari browser to run them as Java servlets, making them essentially browser-locked. brac IT transitioned the frontend with Angular, making the applications cross-browser compatible (Chrome, Firefox etc.).
Taming the Data Bloat
On the database side, we designed APIs that fetched only the data required for a given request, discarding the rest. Pulling a single employee’s attendance records for one month had previously triggered a retrieval of their entire historical dataset. That request, formerly 50 MB in size, now completes under 5 KB.
A deeper audit of the database revealed a single error log table consuming 118 GB. That table was compressed to 24 GB. The system was also reconfigured to stop saving redundant error logs and unnecessary rewrites of historical data. Combined with reducing database partitions from six to three, the overall database was brought down from 135 GB to 35 GB – extending storage provisioning through 2030.
Fixing the Notification Service
The SMS notification system, which was meant to coordinate numerous workflows such as attendance, leave applications, OTP services, and training management, had been faulty, as notifications weren’t dispatched from the system. We refactored the service by stripping out redundant and non-functional components, restoring reliable delivery across all connected modules.
A New Vehicle Management Dashboard
The existing Vehicle Management module required users to navigate multiple forms to check the status of individual vehicles for maintenance schedules, tax, license, and registration which all lived in separate views. brac IT built a unified dashboard giving fleet managers an at-a-glance view of the agency’s entire vehicle inventory and the status of each asset. Automated SMS triggers were also configured to alert relevant personnel ahead of upcoming maintenance events and renewal deadlines.
Several of the most impactful contributions brac IT made to this engagement went well beyond software delivery.
The client had no staging or non-production environment, a critical gap that had contributed to untested fixes breaking live features. We helped set up a staging environment on the client’s servers, with the HR, Payroll, and Vehicle Management modules segregated from the ERP for independent testing, each with separate user access management. As the client’s team lacked the expertise, brac IT’s engineers remotely guided them through the fix – one of many hands-on interventions.
The engagement was also training intensive. By handover, our team had produced complete, up-to-date documentation for every reworked module including – Software Requirements Specifications (SRS), annotated source code, and user manuals for well-rounded knowledge transfer. Installation guides for Oracle Apex, REST Data Services, and WebLogic were also prepared in the event the client opted to change server environments in the future. No such documentation existed when the project began.
All reworks, reconfigurations, and an entirely new Vehicle Management dashboard were delivered within 12 months, with the project reaching a successful closing in late 2025. Bi-monthly releases delivered consistent improvements throughout the engagement, resolving issues while introducing lasting enhancements to the platform.
Key outcomes include:
What began as a remediation project evolved into a full modernization partnership. The agency now operates on a stable, efficient, and user-friendly platform to help them support the demands of serving 35 million people reliably, every day.
Jonathan Das is a Communication Manager specializing in solutions storytelling and product marketing. He’s previously worked in brand and social media management, fund-raising, and audio-visual production roles with consumer brands, global non-profits, and startups. Jon holds a BA degree in communications from University of Liberal Arts Bangladesh. He enjoys making music, going on long walks, and reading about culture and technology.