Chapter 1 · Every line on every bill
The running cost
The platform's tools cost tens of dollars a month, not thousands, and none of them grows with the number of operators. The line people forget is the biggest: the hours someone in your company spends keeping it running. This chapter puts every line on one page, free way first.
25 min5 tool lines + your timeNo per-operator feesSpend caps on
By the end of this chapter you can
- List every running cost of the platform with its free option, its paid trigger and its list price.
- Say which costs grow with people, with usage, or not at all.
- Count the owner's upkeep hours as a cost.
- Switch on spend limits and a monthly bill review so nothing grows unnoticed.
Plant managers have learned to fear software bills that arrive per seat, per site and per module, rising every renewal. This platform is priced differently: the company rents hosting, a database and a coding agent, and builds the rest. The total is small, but it is not zero, and the case you make in chapter 3 is only believable if every line is in it.
Every line, free way first
| Line | Free way | When you must pay | Paid price (list, October 2026) |
|---|---|---|---|
| GitHub (code, reviews, CI) | Free organisation: unlimited private repositories and 2,000 Actions minutes a month [1] | Required reviewers and protected branches on private repositories need Team | Team $4 per user per month [1] |
| Vercel (runs the web app) | Hobby is free but for personal, non-commercial use only [2] | A company's platform is commercial use, so production needs Pro | Pro $20 per deploying member per month, plus usage beyond the included amounts [2] |
| Supabase (database, sign-in) | Free: two projects, small database, pauses after a week idle; no downloadable backups [3] | When the plant depends on it: daily backups, no pausing | Pro from $25 a month per organisation, including compute credits and 100,000 monthly active users [3] |
| AI coding agent | Free tiers are too small for daily building | From the first session you build in earnest | Claude Pro about $20 a month; Max $100 or $200 a month; or the API by the token [4] |
| Domain and DNS | Use the address Vercel gives you | When people should type a company address | About $10 to $20 a year at cost price [5] |
| Uptime monitor | A free monitor plan or a scheduled GitHub Actions check (Session 18) | Rarely, for a plant platform | Varies |
What makes each line grow
| Grows with | Lines | What to watch |
|---|---|---|
| People who build | Vercel Pro seats, GitHub Team seats, AI agent subscriptions | Add a seat only for someone who deploys or reviews |
| Usage | Vercel bandwidth and function time; Supabase database size, compute and egress; API tokens | Photos and file uploads grow storage fastest; summaries, not raw history, keep the database small |
| Nothing | Domain, GitHub Free, monitor | Renewal dates |
The line people forget: your time
Someone must review the agents' pull requests, apply dependency updates, run the monthly drills from the runbook, answer questions from the floor and read the bills. Count it. In the worked example it is 6 hours a month of the platform owner's time, valued at their loaded hourly rate (chapter 2). That is $330 a month, nearly twice the tools.
- Monthly: review and merge dependency updates; one runbook drill; read the three bills.
- Weekly: read the incident log and the health monitor's history; answer requests.
- Per change: write the brief, review the pull request, check the preview on your phone.
Keep it from growing unnoticed
The FinOps Foundation's framework for managing cloud costs comes down to three habits: make costs visible to the people who make the decisions, optimise what you see, and review it on a schedule [6]. For one plant platform:
- Spend limits on. Supabase Pro has a spend cap, on by default, that stops usage charges beyond the included amounts; leave it on until you choose otherwise [7]. Vercel's spend management lets you set a monthly amount with alerts, and can pause projects when it is reached [8].
- One card, company-owned, on every account, with bills going to a shared finance mailbox, not a person's inbox.
- A monthly bill review as a line in the runbook: compare each bill with last month and write one sentence on anything that moved.
- The AI line is a choice. A subscription is predictable; the API is pay-as-you-go and can be cheaper for light use or far dearer for an overnight fleet (F01 chapter 11). Decide deliberately and write the decision down.
You need: The billing pages of GitHub, Vercel, Supabase and your AI agent, signed in with the company's accounts; a spreadsheet
You will replace the example numbers with your own bills.
Outcome: Your platform's real monthly running cost, including your own time, with spend limits switched on.
Knowledge check
Forty more operators start using the platform. Which cost rises?
Knowledge check
Why can't a company's platform stay on Vercel's free Hobby plan in production?
Knowledge check
Which running cost is usually the largest in the worked example?
References
- GitHub pricing. https://github.com/pricing
- Vercel pricing. https://vercel.com/pricing
- Supabase pricing. https://supabase.com/pricing
- Claude pricing (plans). https://claude.com/pricing
- Cloudflare Registrar. https://www.cloudflare.com/products/registrar/
- FinOps Foundation: FinOps Framework. https://www.finops.org/framework/
- Supabase Docs: Cost control and the spend cap. https://supabase.com/docs/guides/platform/cost-control
- Vercel Docs: Spend management. https://vercel.com/docs/spend-management
Chapter 2 · Subscriptions, spreadsheets and hours
What it replaces
The platform's value is what stops: a subscription cancelled, a spreadsheet nobody re-keys, a report that builds itself. Each is counted from evidence, a bill or a stopwatch, never from a brochure. Hours freed are real, but they are only cash if the time goes to other work, so the honest case counts them carefully.
25 minBills, not brochures10-sample time studyLoaded rate ≈ wage ÷ 0.70
By the end of this chapter you can
- Inventory the subscriptions, spreadsheets and paper processes the platform replaces.
- Measure hours saved with a simple before-and-after time study.
- Work out a loaded hourly rate from wages and benefits.
- Decide how much freed time to count as value, and say why.
What it can replace
| Kind | Plant examples | Evidence |
|---|---|---|
| Subscriptions | A forms app charged per user; a downtime or OEE tool charged per machine or line; a small quality-records tool | The invoice or card statement; the renewal date; the notice period |
| Spreadsheets and re-keying | Paper check sheets typed in at the end of the shift; a weekly downtime spreadsheet merged by hand | A time study (below) |
| Reports built by hand | The shift report, the weekly scrap summary, the month-end OEE slide | A time study |
| Errors avoided | Mistyped values, lost sheets, late holds on suspect product | Only if you have counted them before and after |
Measuring hours: a ten-sample time study
Lean practitioners time each step of a task several times and use the typical time, because single timings mislead [1]. You need nothing more than a stopwatch and a sheet of paper:
- Pick a task the platform changes, with a clear start and end ("from opening the downtime sheet to sending the shift report").
- Time it ten times before go-live, with the people who normally do it, on normal shifts. Write every sample down.
- Time it ten times again a month after go-live, when the new way is habit.
- Multiply the difference by how often the task happens a month.
- Multiply the hours by the loaded rate.
Tell people what you are timing and why: you are measuring the task, not the person. The aim is to show what the platform saves them.
The loaded hourly rate
An hour of someone's time costs the company more than their wage: paid leave, insurance, retirement contributions and legally required payroll taxes are added on top. The US Bureau of Labor Statistics publishes these costs every quarter; for private industry, wages and salaries make up roughly 70% of total compensation and benefits about 30% [2]. So a quick loaded rate is:
loaded hourly rate ≈ hourly wage ÷ 0.70 (check the current BLS release, or ask your finance team for the company's own figure)
example: a $28.00 wage → about $40 an hour loaded
example: a salaried owner at $77,000 a year → $77,000 ÷ 2,080 h = $37.02 an hour → about $53, rounded to $55 with overheadsIf your finance team has the company's own burden rate, use theirs: it is the number they will trust.
How much freed time to count
Time saved becomes money only if the time goes somewhere useful: overtime not worked, a vacancy not filled, a supervisor on the floor instead of at a desk. Some of it disappears into the day. A cost estimate should state such assumptions openly and show what happens if they are wrong, as the US Government Accountability Office's cost estimating guide recommends [3]. The worked example counts half the freed hours as value and says so on the page; chapter 3 shows the case still holds if the share is lower.
| Task (worked example) | Hours a month | At $40 loaded | Counted (half) |
|---|---|---|---|
| Clerk re-keying paper check sheets | 26.0 | $1,040 | $520 |
| Supervisors' shift reports (30 minutes saved, 43 shifts) | 21.7 | $867 | $433 |
| Manager's weekly report | 8.7 | $347 | $173 |
| Total | 56.3 | $2,253 | $1,126 |
You need: Accounts payable or the company card statement; a stopwatch; a spreadsheet
You will list what can stop and start collecting the before-timings.
Outcome: An evidence sheet: subscriptions with invoices, and before-timings for the three biggest tasks.
Knowledge check
When may a subscription count in the case as replaced?
Knowledge check
A worker earns $28 an hour. Roughly what is the loaded rate?
Knowledge check
Why does the worked example count only half the freed hours?
References
- Lean Enterprise Institute: Standardized work (lexicon). https://www.lean.org/lexicon-terms/standardized-work/
- US Bureau of Labor Statistics: Employer Costs for Employee Compensation (news release). https://www.bls.gov/news.release/ecec.nr0.htm
- US GAO: Cost Estimating and Assessment Guide (GAO-20-195G). https://www.gao.gov/products/gao-20-195g
Chapter 3 · Payback, three years, and what if
The case in your numbers
A manager deciding whether to keep the platform needs three numbers: what it cost to build, how long until it has paid that back, and what it is worth over three years, with the assumptions shown and tested. This chapter builds that one page from the bills and timings you collected.
25 minPayback in months3-year valueSensitivity tested
By the end of this chapter you can
- Work out the build cost, the monthly net value and the payback period.
- Compare three-year cost of ownership with keeping things as they are.
- Test the case: which assumption moves it most, and does it survive being wrong?
- Present the case on one page your plant manager and finance can check.
The worked example
An illustrative plant, not a named one: a 140-person machining plant on two shifts. The platform replaced a per-user forms app ($500 a month) and the paper-to-spreadsheet routine for downtime and quality checks. The owner, a production engineer, spent about 80 hours on the course and the build; the company pays two owners' seats and a Claude Max subscription.
| Item | Amount | Source |
|---|---|---|
| Build: owner's hours | 80 h × $55 = $4,400 | Timesheet; loaded rate from finance |
| Tools, monthly | $174 | The three bills plus the AI subscription (chapter 1) |
| Upkeep, monthly | 6 h × $55 = $330 | Four weeks of the owner's log |
| Subscription retired, monthly | $500 | Cancelled invoice |
| Hours freed, monthly, counted at half | $1,126 | Time studies (chapter 2) |
| Net value, monthly | $500 + $1,126 − $174 − $330 = $1,122 | Calculated |
Add anything else you paid to get here, such as course fees or a consultant's day, to the build cost. The case is only as honest as its most awkward line.
Payback
Payback is the build cost divided by the monthly net value: $4,400 ÷ $1,122 ≈ 3.9 months. It is the number most managers ask for first, because it needs no discount rate and is easy to check.
Three-year cost of ownership
Total cost of ownership compares the full cost of each option over the same period, here three years, including people's time. It answers "what does each way of working cost?" rather than "what does the platform save?", which some finance teams prefer.
Test the case: sensitivity
Every number in the case is an estimate except the bills. The GAO guide's advice is to vary each assumption and show the effect, so the reader sees which ones matter [1]. Vary each by half either way and redraw the three-year value:
- If one bar dominates (here, hours saved), spend your measuring effort there: more samples, more tasks.
- If any bar crosses zero, say so plainly and say what would have to be true for the case to hold.
- Re-run it at three months with measured after-timings and the real bills. A case that is updated is trusted; regular review is the third of the FinOps habits from chapter 1 [2].
One page
cost-case.csv: fill in the amount column from your own bills and timings; the formulas live in the spreadsheet.
item,amount,unit,source
build_hours,80,hours,timesheet
loaded_rate_owner,55,$/hour,finance burden rate
tools_monthly,174,$/month,"GitHub, Vercel, Supabase, AI agent bills"
upkeep_hours_monthly,6,hours/month,owner's log
subscriptions_retired_monthly,500,$/month,cancelled invoices
hours_freed_monthly,56.3,hours/month,time studies
loaded_rate_staff,40,$/hour,wage / 0.70
share_of_freed_hours_counted,0.5,fraction,stated assumption
# net_monthly = subscriptions + hours_freed * rate_staff * share - tools - upkeep_hours * rate_owner
# payback_months = build_hours * rate_owner / net_monthly
# value_3yr = 36 * net_monthly - build_hours * rate_owner- The decision asked for: keep the platform and retire the named subscriptions.
- Three numbers: build cost, payback in months, three-year value.
- The table of assumptions, each with its source, and the share of freed hours counted.
- The sensitivity chart and one sentence on what would make the case fail.
- What is not counted: errors avoided, faster holds on suspect product, better decisions. Name them without putting a number on them unless you measured it.
You need: A spreadsheet; your bills and timings from chapters 1 and 2
You will turn your evidence into the page your plant manager decides on.
Outcome: Your plant's cost case on one page, with every number traceable to a bill or a timing.
Knowledge check
Build cost $6,000; net value $1,500 a month. What is the payback?
Knowledge check
The sensitivity chart shows hours saved moves the result far more than anything else. What do you do?
Knowledge check
Which item belongs in the 'not counted' list unless you measured it?
References
- US GAO: Cost Estimating and Assessment Guide (GAO-20-195G). https://www.gao.gov/products/gao-20-195g
- FinOps Foundation: FinOps Framework. https://www.finops.org/framework/
Chapter 4 · 12 questions · 80% passes
Final assessment
Twelve questions across the element. Score 80% (10 of 12) to pass. Your LMS records your score and each answer; you can review the chapters and try again.
15 min12 questions≈ 15 minutesRetake allowed
Your result
CivOps AI Academy
What It Costs and What It Replaces: the Cost Case in Your Plant's Numbers
Element F20 complete · Learner
Your LMS records this completion. For the CivOps Foundation certificate, finish the Foundation Course at https://civops.io/learn.