FinOps

AWS Cost Optimizer Dashboard

A React/TypeScript dashboard on the Cost Explorer API that turned 'which nodes are over-provisioned?' into a five-minute answer.

ReactTypeScriptAWS Cost Explorer APIEKSKarpenterPrometheus

The problem

Nobody had a clean, current answer to which EKS nodes Finarkein was paying for but not actually using. Cost data lived in the AWS Cost Explorer API, utilization lived in Prometheus, and reconciling the two by hand didn't happen often enough to catch drift before it became real waste.

How it works

Architecture and flow, step by step.

  1. 1

    Pull cost data

    The dashboard queries the AWS Cost Explorer API for per-node and per-instance-type cost breakdowns on a schedule.

  2. 2

    Correlate with utilization

    Cost figures are joined against live CPU/memory utilization metrics, so a node's price tag sits next to how much of it is actually used.

  3. 3

    Surface over-provisioning

    Nodes with high cost and low utilization are ranked and flagged directly in the dashboard UI — no manual spreadsheet reconciliation.

  4. 4

    Hand off to rightsizing

    Flagged nodes become the input list for Karpenter rightsizing decisions, closing the loop from 'this looks wasteful' to 'this got resized.'

Tech stack

ReactTypeScriptAWS Cost Explorer APIEKSKarpenterPrometheus

Impact

The numbers that came out of it.

$2k

Monthly Savings Identified

3x

Infra Scaled (1 Quarter)

Cost Explorer API

Data Source

Directly drove rightsizing

Outcome

Key challenges & decisions

The non-obvious tradeoffs, and why they were made.

A purpose-built dashboard instead of bolting onto Grafana

Kept the cost-utilization correlation logic in TypeScript where it was easier to iterate, at the cost of a second place engineers had to look for infra insight.

Rightsizing suggestions had to respect Karpenter

A naive 'shrink the biggest idle node' recommendation would have fought the autoscaler's bin-packing, so suggestions are scoped to node groups Karpenter wasn't actively consolidating.

Daily Cost Explorer granularity over real-time estimates

Less immediate than a live billing estimate, but the numbers reconcile exactly with the AWS invoice — which mattered more once this became the source engineers trusted for savings claims.

This project's code isn't public yet.