Sample case study · AWS cost analysis & optimization

Built fast, never sized.
$725,391 a year
measured.

Six weeks with Tidepost, Inc., a fictional social-video news app that built fast on one AWS account and now runs 9 accounts under one payer. The Analysis found $1,054,404 a year on a bill of $175,897 a month. Tidepost’s engineers put $780,703 of it in place, and their Cost and Usage Report measured $725,391.This is the case for a young company whose waste is in what nobody had time to size, with an auditor’s observation window deciding when each change could land. The gate is $105,000 a year; the measured savings were 34.4% of the bill, at list prices, because Tidepost has no private pricing agreement. It shows the method, not a typical result.

Tidepost, Inc. is a fictional company: every account, figure, and person on this page is simulated. The AWS prices are real list prices, retrieved October 13 and 18, 2026.

A long newsprint press hall at golden hour, two rows of enormous blank paper reels on iron stands receding toward a sunlit window.
$175,897
A month on the bill at week one, at list
$1,054,404
A year in savings identified
34.4%
Of the bill, measured at week six
31
Changes in place and measured
A sample engagement

Tidepost is fictional.
The work is not.

Tidepost, Inc. does not exist. We built it to show what this engagement produces for a young company that grew faster than anyone could size its bill: an AWS organization of 9 accounts under one payer that began as the single account the founders opened, a social-video news app moderated and ranked on AWS, simulated resource by resource and priced at AWS list prices, with ten Tidepost people who make the decisions real owners make. Then we ran the six-week Optimization against it, week by week, and wrote the reports.

Tidepost is fictional. Its people, products, users, accounts, investors, and figures are invented for this sample, and any resemblance to a real company, person, product, or publication is coincidental. The reports are the real deliverables, written the way we write them for a client, and they agree with each other to the dollar because every figure comes from one deterministic simulation. The engagement is dated April 6 to May 15, 2026, and priced at the AWS list prices retrieved October 13 and 18, 2026. Our clients’ bills stay confidential, so this is how we can show you every page.

The client

Tidepost, Inc.

Business
A social-video news app: people upload news, images, and video, every upload is moderated automatically on AWS, and an asynchronous pipeline ranks posts for each person’s timeline from a large stream of web and mobile telemetry
People
38 employees, 15 of them engineers, in Denver, Colorado
Reach
600,000 monthly active users, 170,000 daily, and a licensing line that sells verified contributor clips to 18 newsrooms
AWS
9 accounts under one payer, grown from the single account the founders opened; the engagement covers all 9
The bill
$175,897 a month at the run rate on April 6, at list: $2,110,762 a year, with support billed on top
Sponsor
Dev Raman, Co-founder and Chief Technology Officer
Lead
Kofi Brandvold, Head of Platform
Finance
Gwen Tallis, Vice President, Finance

The bill grew 115.1%.
Nobody had time to size it.

Tidepost’s AWS bill went from $79,400 a month in April 2025 to $170,800 in March 2026, and it rose every month, in steps that match product decisions. The largest, $14,900 in July 2025, came when a second moderation path joined the first after a graphic video reached timelines. Tidepost had built fast on the one account the founders opened, with little regard for what any of it cost, and then spent the first months of the year putting security, an account structure, and availability right. Cost came last on purpose: savings are measured change by change, and measured earlier the windows would have straddled the change of payer and the redundancy the earlier engagements added.

Tidepost’s Series A required a SOC 2 Type 2 report, and its CPA firm set the observation window from April 1, 2026 to September 30, 2026. Every change in the cost work was made inside that window, through a pull request and the pipeline, so each one leaves records the auditor can read. The reports carry one boundary on that, printed here as written: Vantalect is not the auditor and does not issue, predict, or influence a SOC 2 report. SOC 2 reports are issued by licensed CPA firms. This map lists controls that are in place on AWS, the date each began operating, and where the evidence is; the auditor tests them.

Dev Raman signed the six-week Optimization, Kofi Brandvold led it day to day, Gwen Tallis made the commitment decisions, and the workload owners decided each change to their own systems.

The engagement
The Optimization: six weeks, April 6 to May 15, 2026, at $29,750 after the 15% discount for booking it with the other standard engagements ($35,000 at list). The Analysis is its first two weeks, and the fee is invoiced half at signature and half at the gate.
The gate
The second $14,875 only if the annualized savings in place at week six, measured on Tidepost’s own Cost and Usage Report, reach three times the Optimization’s list fee: $105,000 a year. The discount does not move the gate.
The access
A read-only role in the payer account and in each of the other eight, which writes nothing but Athena query results, and the Cost and Usage Report through Athena. Tidepost deleted both roles at the close, on May 15.
The rule for changes
Owners approved every change, and Tidepost’s engineers made it through a pull request and the pipeline. Vantalect held no write access and bought nothing.
How it went

Six weeks, as the sponsor saw them.

Each week ended with a report, and every report is below. The dates in each week are the engagement’s own, and the auditor’s observation window, open since April 1, 2026, meant every change was made in front of the records it would leave.

  1. Week 1
    April 6 to 10
    The Analysis

    Baseline, inventory, and the seam in the data.

    The read-only role went into the payer account on Monday, April 6, and into the other eight accounts by StackSet the same day. Twelve months of spend came with it, tied to the invoices, and the data has a seam that the baseline names: the months before January 28 come from a Cost Explorer extract by service, because that is when the founders’ account joined the new payer; the Cost and Usage Report carries it from there, and the cost allocation tags are active from March 11. The bill ran $175,897 a month at that run rate, $2,110,762 a year, and three service groups, CloudFront, Rekognition, and S3, were $75,561 of it, 43.0%. Support is billed on top, at $10,595 a month, and sits in no figure here.

    Some of the bill was already well run, and the baseline said so: the managed data stores on Graviton, CloudFront in front of the video, Lambda orchestration at $463 a month, and DynamoDB for the online features. None of that became a finding. Earlier engagements had moved the number too: the forgotten GPU instance the security engagement removed, the security services it turned on, and the redundancy the Well-Architected review added, a net $8,537 a month more. Those engagements count their own changes, and this one counts none of them.

    The calendar. Kickoff on Monday, April 6; the finance session with Gwen Tallis on the invoice, the budgets, and the commitment decision to come; an inventory of all 9 accounts; the baseline report on Friday, April 10.

  2. Week 2
    April 13 to 17
    The Analysis

    Analysis and readout.

    Every saving was priced in a fixed order so nothing was counted twice: 37 findings, priced as 40 changes in eight sections, $1,054,404 a year, 50.0% of the $2,110,762 bill. The waste register came first, seven changes and $123,958 a year, none of which needed a new design: notebooks that never stop, a Kinesis stream that kept a year of data nobody read, and snapshots and volumes nothing used. The Savings Plans were priced last, on the usage every other change leaves, and the ten largest changes were 57.5% of the total. Five changes were named as waiting on a condition outside the week.

    At the readout on Friday, April 17 the owners decided change by change, in the room. They approved 32 of the 40 ($791,895 a year), deferred five ($200,550), and declined three ($61,959), and each decline and each deferral carries the owner’s reason, below. Every deferral falls after the engagement closes, so none of the five could be measured in it. Five High-Risk Issues that the Well-Architected review had accepted in writing until this engagement were closed by these changes.

    Decisions at the readout. The roadmap, change by change, with an owner on each; the three declines and their reasons; the five deferrals and what each waits for; and the commitment decision, which waits for the usage every other change leaves. The Analysis was delivered on Thursday, April 16 and the sponsor readout was Friday, April 17.

  3. Week 3
    April 20 to 24
    The Optimization

    Quick wins.

    Tidepost’s engineers put thirteen changes in place across three accounts, estimated at $228,238 a year, 10.8% of the bill: notebooks that stop themselves when idle, developer instances that sleep outside working hours, gateway endpoints for S3 and DynamoDB, INFO instead of DEBUG in production, custom metrics without the per-post dimension, gp2 volumes moved to gp3, old exports and CI artifacts expired, and Transcribe run only on videos with speech. The first change went in on Tuesday, April 21.

    Every change was approved by its owner at the readout, made by a Tidepost engineer through a pull request and the pipeline, and reviewed by Vantalect, which holds a read-only role and writes nothing to production. Each has a written way back, except three that remove something that does not come back, and the report names them. Nothing showed on an invoice yet: the Cost and Usage Report needs seven full days after a change before it can be read.

    The calendar. The change-management control the auditor tests had been operating since March 27, before the window opened; the report says where each change’s records are, and Vantalect does not select the auditor’s sample. The quick wins report is dated Friday, April 24.

  4. Week 4
    April 27 to May 1
    The Optimization

    Sizing, moderation, and the commitment.

    Eleven changes went in, worth $400,334 a year, 19.0% of the bill and the heaviest week by value, which brought the total in place to 24 changes and $628,572 at estimate, 29.8% of the bill. The sizing changes made hardware smaller or fewer: an embedding endpoint that had been using one GPU of four moved to a smaller instance, the largest single saving in the engagement; the production nodes consolidated under Karpenter; the transcoders and the API tier scaled on demand, the API tier on Graviton; the cache nodes, the read replicas, and the Kinesis stream came down to what they use. The demand changes made the work smaller: a lighter rendition ladder on cellular, shipped with an app release, and a moderation route that sends the second, more expensive video path only the newer accounts’ videos and the reported ones.

    The commitment came last on purpose. A one-year Compute Savings Plan at $7.27 an hour was sized on the always-on floor of $14.26 an hour of On-Demand usage that every change on the roadmap leaves, so the deferred changes cannot leave it underused. Gwen Tallis approved it in writing before it was bought on Thursday, April 30, in the payer account with sharing on. A change to the same moderation path, sampling frames half as often, was declined by its owner at the readout, and it is in the calls below with her reason.

    The calendar. The rendition change reached viewers as they updated the app after the release on Wednesday, April 29. The Savings Plan was bought on Thursday, April 30, and the report is dated Friday, May 1.

  5. Week 5
    May 4 to 8
    The Optimization

    Data that gets old, and the guardrails.

    Seven changes worth $152,131 a year went in, 7.2% of the bill, bringing the total in place to 31 changes and $780,703 at estimate, 37.0% of the bill. The week was about data that gets old: telemetry converted to Parquet at ingest and the queries moved onto it, old renditions moved to Glacier Instant Retrieval, application logs kept for less time once counsel’s copy of the oldest months was safe, and the snapshot chains an old cron job left behind deleted, with AWS Backup the only schedule from here. Wednesday, May 6 was the last day a change could go in and still have seven full days on the Cost and Usage Report before week six read it.

    Five guardrails were built in the week, beside two the engagement inherited from earlier ones, so seven in all, each with one owner who will be asked if it fails. Four prevent the waste at creation and three detect it soon after, and the report says what each one cannot see. Gwen Tallis declined the SageMaker Savings Plan on Tuesday, May 5 because she wants the Inferentia2 move first. The terms count a change approved at the readout and declined later at its estimate, so it is in the gate math at that estimate, and it is on the page below as a call.

    The calendar. The last change that could be measured went in on Wednesday, May 6. The report is dated Friday, May 8 and carries the cost-avoidance range, which is kept apart from every other figure.

  6. Week 6
    May 11 to 15
    The Optimization

    Measure and hand over.

    Every change was measured the same way on Tidepost’s own Cost and Usage Report: the public On-Demand cost of the changed resources over the seven days before the change against the seven days after it, the day of the change in neither, annualized, so a Savings Plan is never counted inside another change. 31 changes measured $725,391 a year, 34.4% of the bill and 92.9% of their $780,703 estimate, and every miss is published at its measured value. Ten matched their estimates exactly. The largest miss was the rendition ladder, at 53.6% of its estimate: only 52% of viewers had the new app in the window.

    The handover gave every remaining change an owner and a date, set the first monthly cost review for Tuesday, June 9, and listed the guardrails. The second invoice, $14,875, was issued with the measurement report, so Tidepost paid $29,750 in total. Tidepost then saved its own Well-Architected milestone with no High-Risk Issues left, which this page shows and never counts.

    The calendar. Measurement on Friday, May 15, from the Cost and Usage Report through May 13; the closing readout the same day, once the last change had its full days of finalized data.

The gate

The gate was $105,000 a year.
The bill showed $725,391.

Half the fee rode on one number: annualized savings in place at week six, measured on Tidepost’s own Cost and Usage Report, of at least three times the Optimization’s list fee. Every figure here is at AWS list prices, which is what Tidepost’s invoice falls by, because it has no private pricing agreement. Each step from estimate to measurement is in the reports.

Identified
$1,054,404

a year across 37 findings priced as 40 changes, 50.0% of the $2,110,762 bill, priced in week two.

Put in place
$780,703

a year at estimate, in 31 changes their owners approved and Tidepost’s engineers made: 37.0% of the bill.

Measured on the bill
$725,391

a year across those 31 changes: 34.4% of the bill and 92.9% of their estimate, every miss included.

The Optimization’s guarantee

Counted toward the gate: $736,583 a year, the measured $725,391 plus $11,192 for the one change approved at the readout and declined later. That is 7.0 times the $105,000 gate, a margin of $631,583, and without the declined change it still clears the gate by $620,391. The $29,750 fee, after the booking discount, does not move the gate. The measured savings repay it in about 15 days and net $695,641 in the first year; all four of this year’s Vantalect fees, $114,250, take about 67 days to repay, because the earlier engagements added to the bill. The counted figure decides the gate only.

Still to come: $200,550 a year across five approved changes, each with an owner and a date and none measurable inside the engagement, and $61,959 a year across three that owners declined and can reopen. At April usage the bill falls from $175,897 to about $115,448 a month on the measured basis, 34.4% lower, and to about $98,735 once the deferred changes land, 43.9% lower. The Analysis identified 50.0% of the bill and the engagement measured 34.4%. The difference is what owners declined, what waits on a named condition, and the $55,312 by which changes measured below their estimates, and the next sections say where each dollar of it went.

Want this gate on your own organization?

Book a call about the Optimization
The honest part

What owners declined, what waits,
and who decided.

A guarantee that counted only the changes owners agreed to would be easy to meet, so the reports show every call, with the owner who made it and the reason. In all, three changes were declined at the readout, five approved changes wait on a condition, one was approved and then declined, and one purchase was made.

Bought: the commitment.

Tidepost held no commitments before this engagement. Finance decided, in writing, and Tidepost made the purchase in the payer account with sharing on. Vantalect buys nothing.

  • SP-1 · Gwen Tallis

    Compute Savings Plan, one year, No Upfront

    $23,764 a year

    Sized on the always-on compute floor that every change on the roadmap leaves, $14.26 an hour, and bought at $7.27 an hour, so none of the deferred changes can leave it underused. Its renewal is on the agenda of the review on January 12.

    Decided. Thursday, April 30, by Gwen Tallis, with her written approval before it was bought.

Declined at the readout: three changes, $61,959 a year.

An owner said no, with a reason, and the decision is on the record. Each reason still held at the handover, and each change can be reopened at the monthly review.

  • MOD-2 · Amara Delacroix

    Frame sampling every two seconds

    $37,422 a year

    After MOD-1 the frame path alone carries most videos, and halving it halves what it sees.

    Revisit. If the trust and safety team’s labeled review shows that a frame every two seconds catches what a frame a second does.

  • RDS-2 · Dev Raman

    Writer down one size

    $15,759 a year

    Growth after the round, and a resize is a failover inside the observation window.

    Revisit. After the observation window closes on September 30, 2026.

  • OS-1 · Lior Haddad

    OpenSearch data nodes down one size

    $8,778 a year

    The search team is midway through a k-NN migration.

    Revisit. When the search team finishes its migration.

Approved, then deferred: five changes, $200,550 a year.

Each is approved, owned, and dated. Every date falls after the engagement closed on May 15, so none was in place by then and none counts toward the gate. Each waits for a named thing, and none is a decision to skip the change.

  • S3-2 · Amara Delacroix

    Originals over 90 days to Glacier Instant Retrieval

    $120,787 a year

    Approved, and the rule waits for counsel to sign the retention schedule. The same schedule starts the data-disposal controls on Tidepost’s technical control map on the same date, after the observation window opened, and the map says so plainly.

    Target. May 20.

  • EC2-1a · Kofi Brandvold

    Staging rebuilt at 30% of its size

    $55,468 a year

    Two platform engineers, and the rebuild uses the Remediation's CDK.

    Target. June 1.

  • EC2-1b · Kofi Brandvold

    Staging on weekdays only

    $11,218 a year

    It follows EC2-1a.

    Target. June 8.

  • SM-3 · Yuki Sorensen

    Moderation classifier to Inferentia2

    $7,323 a year

    It needs a Neuron compile and a precision check against the labeled March set. It is also what the second Savings Plan waits for.

    Target. July 13, measurable from July 22.

  • CACHE-2 · Kofi Brandvold

    Redis OSS to Valkey

    $5,754 a year

    The client library is tested against Valkey first.

    Target. May 19.

Approved, then declined: one change, $11,192 a year.

The terms count a change approved at the readout and declined later at its estimate, so the guarantee cannot be met by approving a change and never making it. This one is in the gate math and was never bought.

  • SP-2 · Gwen Tallis

    SageMaker Savings Plan

    $11,192 a year

    Gwen Tallis declined it on Tuesday, May 5, after approving it at the readout. She wants the Inferentia2 move first. The floor it is sized on still holds the moderation classifier on GPU instances, so a plan bought before SM-3 moves it would be sized on the wrong floor, and the decision is a good one on the facts.

    Revisit. The review on August 11, re-sized on the floor the move leaves.

Cost avoidance

What the planned growth
could cost less.

The April bill carries 660,000 monthly users, and Tidepost plans for 1,500,000 by December: growth of 127%. A change’s yearly estimate is the waste it removes at today’s usage. Had the old configuration stayed while usage grew, that waste would have grown with it, and the growth is what the change avoids.

Seven of the changes remove a cost that rises with users, and each was in place before December. The changes that already scale on demand are left out, because there is nothing avoided, and so are the notebooks, which scale with the machine learning team and not with users. The five guardrails built in week five are what keep these costs from returning.

It is a model, not a measurement. Nothing in it has happened, none of it is on the bill, and none of it counts toward the gate or was used to clear it. The two ends are Vantalect’s assumption, not a fact from Tidepost’s data: at the high end every lever grows in step with users, and at the low end 60% of that growth appears, because volume per user can fall.

Not counted toward the gate
$140,000 to $230,000 a year

At the December volume, rounded: the levers sum to $138,589 at 60% of linear growth and $230,982 at 100%. A planning range on growth still to come.

Where it comes from, in dollars avoided a year across the range
  • LOG-1 · INFO in production, not DEBUGLogs written per request. Held by GR-1.$23,459 to $39,098
  • LOG-2 · Shorter application log retention, counsel's copy firstLog events kept, which accumulate with ingestion. Held by GR-1.$24,587 to $40,978
  • LOG-3 · Custom metrics without the per-post dimensionMetric series, which multiply with posts. Held by GR-5.$21,076 to $35,127
  • KIN-1 · Kinesis retention cut backRecords held past the point anything reads them. Held by GR-6.$8,431 to $14,051
  • S3-1 · Telemetry to Parquet at ingestRaw telemetry bytes, which arrive with every event. Held by GR-2.$23,398 to $38,996
  • ATH-1 · Athena on partitioned ParquetBytes scanned, which grow with the data queried. Held by GR-5.$13,241 to $22,069
  • EBS-3 · Snapshot chains past their keep period deletedSnapshot blocks, which grow with the data on the volumes. Held by AWS Backup's lifecycle.$24,397 to $40,662

Cost avoidance is a forecast of a bill that has not happened, so it sits apart from the gate on purpose. The gate counts savings on the bill, measured on Tidepost’s own Cost and Usage Report, and nothing else: $736,583 a year, with none of this in it. A private pricing negotiation with CloudFront, which Gwen Tallis owns, is named in the roadmap and is neither counted nor estimated.

The workspace

Nothing lived
in an inbox.

The engagement ran in a Pavilion workspace, created from the Optimization’s template with every week, session, deliverable, and obligation already in place, on Tidepost’s calendar and in its time zone. The sponsor, finance, the platform lead, and the workload owners joined it, and Charles.

After each session the transcript came into the workspace, and an agent drafted the summary, the decisions taken, the action items, and a digest for the people who were not in the room, each claim citing the part of the transcript it came from. Charles reviewed every draft before Tidepost saw it. Every report was published there as an immutable, hashed version, and Dev Raman accepted each one against that version.

Tidepost’s demonstration workspace is still being written, so this page describes the workspace in words and counts nothing in it.

A glass-and-steel pavilion at blue hour on a still lake, one warm light glowing inside.

Read about Pavilion

What the workspace is built to hold for this engagement
  • The six weeks on one calendar, every session and deliverable in its place
  • Each report as a hashed version, and the sponsor’s acceptance of it
  • The roadmap, change by change, with its owner, its decision, and the reason beside it
  • The calls: what was declined, what was deferred and what it waits for, and what was bought
  • The measurement against the baseline, with the query anyone on Tidepost’s team can rerun
  1. A decision, with who made it.

    Gwen Tallis approved the Savings Plan in writing before it was bought on Thursday, April 30, and declined the second on Tuesday, May 5 with her reason. The record shows which decision was whose, and the declined plan is on its own line, never inside a measured total.

  2. A deferral, with its condition.

    The largest change in the roadmap waits for counsel to sign a retention schedule. It kept its condition, its owner, and a task dated May 20, so anyone reading the roadmap later finds the reason beside the line.

  3. A measurement anyone can rerun.

    The gate is computed from Tidepost’s own Cost and Usage Report, and the queries are in the measurement report, so a finance lead who disagrees with a figure can reproduce it from Tidepost’s data in the workgroup Vantalect used.

  4. The handover.

    The engagement’s last tasks hand the roadmap to Tidepost: every remaining change with an owner and a date, and the first monthly cost review on June 9. Then the workspace closed.

The deliverables

Every report, as delivered.

Nine PDFs and 180 pages. Start with the readout; the reading guide shows how the rest fit together. Then read the weeks in order and you have the engagement the way Tidepost’s sponsor did. Each one is tagged for screen readers, and each says on its cover that Tidepost is fictional.

All of Tidepost’s documents, by engagement and week

Start with the readout (14 pages)

Written for the sponsor, and the one to read if you read nothing else: the baseline, the savings ranked, the decision on every change, and the plan for the next four weeks.

  1. Week 2 of 6: Sponsor readout
    April 17, 2026

For the engineer you forward it to

The full analysis behind the readout: the waste register, the rightsizing plan, the commitment plan, and the ranked savings roadmap, with the prescriptive change for each.

  1. Week 2 of 6: Find and rank
    April 16, 2026

The rest, week by week

The reading guide first, then what each week delivered, in order.

  1. Reading guide to the 33 reports
    May 15, 2026
  2. Week 1 of 6: Baseline
    April 10, 2026
  3. Week 3 of 6: Quick wins
    April 24, 2026
  4. Week 4 of 6: Rightsizing and commitments
    May 1, 2026
  5. Week 5 of 6: Architecture and guardrails
    May 8, 2026
  6. Week 6 of 6: Measure
    May 15, 2026
  7. Week 6 of 6: Hand over
    May 15, 2026

Let's define the result.

Tell us roughly what the bill is, what has to be settled before an audit window closes over your changes, and what prompted the question. You will hear back from Charles within one business day, and the first call is fifteen minutes.

AWS, Amazon Web Services, AWS Graviton, AWS Inferentia, and the AWS service names are trademarks of Amazon.com, Inc. or its affiliates. SOC 2 is a registered trademark of the American Institute of Certified Public Accountants. Vantalect is not affiliated with or endorsed by Amazon or the AICPA. Tidepost, Inc. and every person named on this page are fictional.