Blog

Updates & insights

Product updates, technical deep-dives, and the story behind CloudLens โ€” built by an AWS engineer who got tired of watching friends get surprise bills.

Why CloudLens exists

The $847 AWS bill that started everything

A few years ago, a close friend of mine โ€” a talented developer working on his first serious side project โ€” called me on a Sunday evening. He sounded rattled. He'd just opened his AWS billing notification.

๐Ÿ“ฌ
$847.32
AWS bill ยท one month ยท side project

He'd spun up an EC2 instance for some compute-heavy processing jobs while testing a feature. He finished testing, moved on to other things, and completely forgot the instance was still running. It ran, unattended and unused, for 31 days straight.

He knew what EC2 was. He understood that instances cost money. He just had no idea what that specific instance, in that specific size, was costing him per day. There was nothing in the Console telling him. He had logged in multiple times that month โ€” to check CloudWatch logs, poke around S3, update a Lambda function. The instance was right there in the list. But there was nothing showing him it was quietly burning $27 a day.

"I thought I'd stopped it. I could have sworn I stopped it. How was I supposed to know it was still running?"

I've heard versions of this story more times than I can count since then. The details are always different. The feeling โ€” that sick drop when the bill arrives โ€” is always the same.

$1,200 RDS instance left running after a three-day hackathon. The team celebrated shipping and forgot to tear down the database.
$340 Elastic IP provisioned for a test environment, never released. $0.005/hr. Invisible. 90 days.
$2,100 NAT Gateway generating data transfer charges on a dev VPC that was supposed to be torn down after a demo.
$480 Lambda function misconfigured to run every minute instead of every hour. Nobody noticed for six weeks.

None of these people were careless. None were ignoring costs deliberately. They were building โ€” moving fast, juggling priorities, making decisions in a Console that gives you extraordinary power over infrastructure while telling you almost nothing about what that infrastructure costs until the bill lands at the end of the month.

The information exists. AWS Cost Explorer has all of it, accurate to 24 hours. The problem is that it lives in a completely separate corner of the Console, behind a navigation click, presented in aggregate form that requires manual effort to map back to the specific resource you're looking at right now.

The fix seemed obvious: put the cost on the resource page. Right there in the header, next to the thing you're already looking at. Not in a report you have to remember to open. Not in an email at the end of the month. On the page. When the decision is being made.

That's CloudLens. A badge on every resource page showing what it costs. Click it for a plain-English AI summary and one concrete suggestion if something looks off.

It won't catch everything. But it makes the cost visible. And visible costs don't get forgotten.

All posts