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.
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
Pull cost data
Pull cost data
The dashboard queries the AWS Cost Explorer API for per-node and per-instance-type cost breakdowns on a schedule.
- 2
Correlate with utilization
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
Surface over-provisioning
Surface over-provisioning
Nodes with high cost and low utilization are ranked and flagged directly in the dashboard UI — no manual spreadsheet reconciliation.
- 4
Hand off to rightsizing
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
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.