Cost Optimization — Portfolio Projects
Build these to prove you can actually find and eliminate waste, not just recite savings-plan percentages. Each project maps to a real FinOps practitioner task.
Project 1: Automated Waste-Detection and Cleanup Pipeline
Level: Beginner | Time: 2 days
Build a scheduled Lambda function that scans an AWS account for the classic waste categories — unattached EBS volumes, unassociated Elastic IPs, snapshots older than 90 days, idle load balancers — and reports them (don't auto-delete on a first pass; that's how you accidentally delete something someone needed).
Steps
describe-volumes/describe-addresses/describe-snapshots to find each waste category
$/GB-month, EIP $/hr when unattached)
--dry-run vs --delete mode, defaulting to dry-run — document why auto-deletion without a grace period is risky (a "temporary" test resource someone's about to need again)
Skills Demonstrated
GitHub Repo Name
aws-waste-detection-pipeline
---
Project 2: Right-Sizing Recommendation Digest
Level: Intermediate | Time: 3 days
Build a weekly digest that pulls AWS Compute Optimizer's findings, cross-references them against actual CloudWatch utilization, and produces a ranked, dollar-estimated list of right-sizing opportunities — the kind of report a FinOps practitioner actually hands to engineering teams.
Steps
aws compute-optimizer get-ec2-instance-recommendations
OVER_PROVISIONED finding, pull the instance's actual CPU/memory utilization over the trailing 2 weeks from CloudWatch, so the recommendation has real evidence attached, not just Compute Optimizer's verdict alone
Skills Demonstrated
GitHub Repo Name
rightsizing-recommendation-digest
---
Project 3: Multi-Account Cost Allocation and Budget-Alert Platform
Level: Advanced | Time: 5 days
Design a cost-visibility platform across a multi-account AWS Organization: enforced tagging, per-team showback dashboards, and proactive budget alerts before a team blows through their monthly allocation — not after the bill arrives.
Steps
Skills Demonstrated
GitHub Repo Name
multi-account-cost-platform
---
Tips for Great Projects
Make it real. Run these against your own free-tier account first — a waste-detection tool that's never found a single unattached volume in a real account is a tool you haven't actually tested.
Show the dollar figures. "Found 3 unattached EBS volumes" is weaker than "Found 3 unattached EBS volumes costing an estimated $14/month — here's the math." FinOps is fundamentally about making cost visible in concrete terms, and your portfolio project should demonstrate that same instinct.
Explain a real tradeoff. Why dry-run by default? Why per-team dashboards instead of one account-wide view? Being able to explain the reasoning, not just the implementation, is what a FinOps interview actually probes for.

