Analytics & Monitoring
Activity Monitoring
A platform activity monitoring system that aggregates user activity into dashboards for operational visibility.
Software Engineer at PT Bank Mandiri (Persero) Tbk. · April 2022 - July 2024
10 -> 2,400
User Adoption
2,400
Weekday Active Users
3,000-6,000+
Reported Records / Transactions
1-3
Requests / Second
The Problem
Business stakeholders needed visibility into user activity and transaction-related activity across the platform, while the available environment did not provide external message-queue infrastructure.
My Role
Delivered the initial analytics foundation as the sole developer, then contributed as technical lead for the follow-on activity monitoring and dashboard implementation.
Architecture
The monitoring system collects activity information through an in-memory queue, prepares reporting data through PostgreSQL aggregation, and exposes the resulting data to the activity dashboard.
Platform Activity
User and transaction-related activity generated by the platform.
In-Memory Queue
HashMap-based queue used because external message-queue infrastructure was not available.
PostgreSQL
Pre-calculated aggregations prepared for reporting and dashboard queries.
Activity Monitoring Dashboard
Dashboard providing activity visibility for business stakeholders.
Engineering Decisions
In-memory queue
Used a HashMap-based in-memory queue because external message-queue infrastructure was not available.
Pre-calculated aggregation
Used PostgreSQL aggregations to prepare reporting data efficiently for dashboard consumption.
Gradual rollout
Introduced the system incrementally, beginning with a 10-user test group before expanding to the broader user base.
What I Built
- Delivered the initial productivity monitoring foundation as the sole developer in 2 months.
- Built the activity reporting mechanism using an in-memory HashMap-based queue.
- Implemented PostgreSQL pre-calculated aggregations for dashboard reporting.
- Led a 3-person cross-functional team during the follow-on Activity Monitor and Dashboard Reporting implementation.
- Supported a gradual rollout from an initial 10-user test group to 2,400 weekday active users.
Constraints
- External message-queue infrastructure was not available.
- The initial analytics foundation had to be delivered within 2 months.
- The system needed to support a substantial increase in active users during rollout.
Outcome
The monitoring system grew from a 10-user test rollout to 2,400 active weekday users, using an in-memory queue and pre-calculated PostgreSQL aggregations for dashboard reporting.
Technology
Engineering Highlights