Find and clean up what your Amazon S3 storage really costs

Walk your buckets folder by folder to see where the bytes and the money actually sit, then archive, tag, or delete what you no longer need.

App
Amazon S3Slack BotEngineeringOperationsResearch & MonitoringAI Reports
PromptCreate

Build an app for reviewing and cleaning up what my Amazon S3 storage is actually costing me. It is a browsing and cleanup tool: I open it, drill into my storage, and act on what I find without leaving the screen. Everything reads and writes through Amazon S3, with an option to post a summary to Slack.

The landing view lists my buckets using S3 List Buckets, and for each bucket shows total object count and total size. Compute those by paginating S3 List Objects (V2) across the bucket and summing as you go, 1,000 keys per page following the continuation token, with a visible progress indicator because large buckets take a while. Cache each bucket's scan result together with a scanned-at timestamp, show that timestamp in the UI, and give me a Rescan button per bucket and one for all buckets. Do not rescan automatically on every page load.

Clicking a bucket opens a folder explorer that walks key prefixes one level at a time using S3 List Objects (V2) with prefix set to the current path and delimiter set to a forward slash, so CommonPrefixes become the folders and Contents become the objects sitting directly at that level. For every folder row, roll up the entire subtree beneath it: total size, object count, the storage class mix as a breakdown, and the oldest and newest LastModified date. Breadcrumbs let me climb back up, and I can sort rows by size, object count, or age. The whole point is to see which folders are holding the bytes instead of guessing at the bucket level.

A cold data view lists prefixes where nothing has been modified in more than a configurable number of days, defaulting to 180, ranked by size. Next to each prefix show an estimated monthly storage cost derived from its size and its storage class mix, using a per gigabyte rate table I can edit in settings so it matches my region. Ship sensible defaults for Standard, Standard-Infrequent Access, Intelligent-Tiering, Glacier Instant Retrieval, Glacier Flexible Retrieval, and Deep Archive, and make clear in the UI that the estimate covers storage only, not requests or data transfer.

From any view I can multi select individual objects or select a whole prefix, then act on the selection. Archive rewrites the objects to a cheaper storage class with S3 Copy Object, copying each object onto its own key in the same bucket with the copy source set to that key, the metadata directive set to COPY, and the storage class set to the target tier, which I pick from a dropdown that defaults to Glacier Instant Retrieval. Tag for later review uses S3 Put Object Tagging to write a tag set I configure, defaulting to review=pending-delete, and should warn me that this replaces whatever tags the object already has. Delete uses S3 Delete Multiple Objects in batches of up to 1,000 keys.

Deletion must always be explicit and confirmed, never a single click. Before any delete, show a summary of exactly what is selected, meaning the object count, the total size, and the prefixes involved, and require me to type the bucket name or the prefix to confirm. When a whole prefix is selected, expand it to the real object list first so the count is never a guess. After every action, show the outcome: how many objects succeeded, which ones failed and why, and the reclaimed or shifted size. Skip and flag objects larger than 5 GB when archiving because a single copy call cannot handle them, skip objects already sitting in the target storage class, and surface a note that the cheaper archive tiers bill a minimum storage duration.

Selecting a single object opens a side panel with its full detail from S3 Head Object: exact size, content type, storage class, last modified date, ETag, and any metadata, with the same archive, tag, and delete actions available for that one object.

A Post summary to Slack button sends the current view's findings plus the actions I took in this session to a channel using the Slack Bot Send a Message operation. Let me pick the channel, set a default in settings, and see a preview of the message before it sends. The message should read like a short report: which bucket and folder I was looking at, the largest or coldest prefixes with their size and estimated monthly cost, and a list of what I archived, tagged, or deleted with the reclaimed size.

Persist an action log of every archive, tag, and delete, recording who ran it, when, the bucket and keys affected, the byte total, and the result, and give me a History view I can review and post to Slack later. Settings persist the cold threshold in days, the price table, the default archive tier, the review tag, and the default Slack channel. Everything else is read live from Amazon S3.

What does this prompt do?

  • See every bucket with its total size and file count, then drill in folder by folder to find where the bytes actually sit.
  • Each folder level rolls up size, file count, storage tier mix and the oldest and newest change date, so you stop guessing at the bucket level.
  • A cold data view lists folders nobody has touched in months alongside an estimated monthly cost, so the cleanup list writes itself.
  • Select files or a whole folder to archive to a cheaper tier, tag for review, or delete behind a typed confirmation, see the space you reclaimed, and post a summary to Slack.

What do I need to use this?

  • An AWS account with access to the S3 buckets you want to review
  • Permission to read files and to copy, tag and delete them, since the cleanup actions change your storage
  • A Slack workspace, only if you want to post summaries to a channel
  • A rough idea of storage pricing in your region, though the app ships with editable defaults

How can I customize it?

  • Change how many days of no activity counts as cold, which defaults to 180
  • Set which cheaper tier archiving moves files to, and edit the per gigabyte prices behind the cost estimates so they match your region
  • Pick the review tag applied to files you want to revisit, and the Slack channel summaries go to

FAQs

Does this delete anything on its own?
No. Nothing is ever removed in a single click. You select what you want gone, review a summary showing exactly how many files and how much space it covers, and type a confirmation before anything is deleted.
Why can't I already see folder sizes in the AWS console?
Amazon S3 has no real folders underneath, just file names that happen to contain slashes, and the console does not add up sizes per folder. This app reads the file list itself and does the rolling up, which is why you can finally see which folder is holding the bytes.
Will this work on a bucket with millions of files?
Yes. It reads the file list in pages and shows progress while it works, then remembers the result so you can browse without waiting again. The first scan of a very large bucket takes a while, and you can rescan whenever you want fresh numbers.
How accurate is the monthly cost estimate?
It multiplies each folder's size by the price per gigabyte for the tier its files are stored in, using rates you can edit to match your region. It covers storage itself and not request or data transfer charges, so treat it as a strong guide rather than your final bill.
Can I undo archiving a file?
Archived files stay exactly where they are and keep their names, they just sit in a cheaper tier, so you can move them back later. Keep in mind the cheapest tiers charge for a minimum storage period, so moving something back very soon after archiving it can cost more than leaving it alone.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop paying for storage nobody has touched in years.

Open one screen, find the folders quietly holding the bytes, and clean them up without guesswork.