← Projects

Project & Capacity Dashboard

Creative Marketing, GoTo (Gojek) · 2025 – 2026 · Senior Project Manager

The system end to end: one intake point, one live tracker, and reporting that builds itself.

The problem

A creative team was taking project requests through scattered channels, tracking status manually, and assigning work without a shared view of who had capacity.

Three things followed from that. Nobody could see the full pipeline at once. There was no single place where hours or workload were recorded, so building the monthly utilisation report meant gathering the numbers from scratch each time. And because nothing tracked capacity, overload only became apparent once it was already showing in the work.

The constraint that shaped everything: no budget for a new tool. Whatever got built had to run on what the company already had, and had to be simple enough that a busy creative team would keep using it.

What I built

A connected system running on Google Workspace, with each part feeding the next.

Intake. A form that captures every project request in one place: requester, business unit, brief, deliverables, and requested deadline. The PM reviews each one, approves or rejects it, assigns the team, classifies the project scale, and sets the kickoff date.

The intake log. Every request lands in one place, then gets approved, assigned and scheduled.

Benchmarks. A reference sheet defining standard hours per role per project size. This is the piece that made everything downstream possible: without an agreed unit of work, capacity is just opinion.

The benchmark sheet. Standard hours per role per project size.

Tracking. Approved projects flow automatically into a live tracker with owners, dates, assignments, and status. This became the team's daily reference.

The live tracker. Approved intake rows arrive automatically with owner, dates and status.

Capacity. Each assignment logs allocated hours against actual hours worked. Anything above 100% highlights automatically. A monthly rollup calculates each person's utilisation and labels it: burn risk, high load, healthy, or underutilised.

The monthly rollup. Each person's utilisation, labelled so overload is obvious at a glance.

Reporting. A leadership summary that generates from a single input, the reporting period. Project volume, total capacity, hours delivered, and utilisation broken down by project size.

The leadership summary, generated from one input — the reporting period.

One design decision worth naming: the system excludes Indonesian public holidays from capacity calculations automatically. Without that, every month with a long holiday reports the team as underperforming when they were simply not at work. Small detail, and the difference between a report people trust and one they argue with.

The impact

A single source of truth for project demand, delivery status, and resource allocation, replacing several disconnected manual inputs
Reduced roughly 75% of the manual effort in consolidating monthly utilisation reports and shifted to automatic generation
Overload became visible while it was still fixable, rather than after the fact
Built entirely on existing tools, with no new platform cost and no procurement process