/images/avatar.png

Tech Lead and AWS Developer

From 900,000 to 3: Drastically Reducing S3 Costs with Incremental Caching

🔊 Voiced by Amazon Polly $4.64 in two days. For a blog with modest traffic, that’s an unexpected surprise in the AWS Cost Explorer. The culprit was easy to find — but the fix took three iterations worth writing down. The Problem My analytics system is built on Kinesis Firehose → S3 → Athena. A scheduled Lambda runs every hour, queries Athena, and writes the result as JSON to S3 where the dashboard reads it.

Automated LinkedIn Posts with AWS Lambda and Bedrock — An Approval-First Approach

🔊 Voiced by Amazon Polly Writing blog posts is one thing. Getting people to actually read them is another. LinkedIn is an obvious channel — but if you’re going to automate, do it properly from the start. So I built a pipeline that automatically turns new articles into LinkedIn post drafts — with an approval step built in, because AI-generated text going straight to production without review is not something I’m comfortable with.

Smarter S3 Triggers: Hash Files, SNS Fanout, and No More Redundant Calls

🔊 Voiced by Amazon Polly The Polly TTS setup worked well, but there was a flaw: every deployment triggered the Polly Lambda for every post, even when nothing had changed. The Lambda’s content-hash check caught duplicates after the fact, but the invocations still happened for all posts on every push. At the AWS Summit in Hamburg on May 20th I had some time to think through a cleaner solution.