# The hours ledger

> Hosting costs money and running it costs hours. Enter your own numbers and see both bills side by side, using the method in our guides.

Source: https://customhosted.com/hours/

№ 01 Hours

Hosting costs money. Running it costs hours. Put your own numbers in below and see which one is actually the bigger bill.

№ 02 The method

## Count it the way the guide already tells you to

Not a new formula — the same one [should you host it yourself?](https://customhosted.com/guides/should-you-self-host) already hands you on paper. This page just runs the arithmetic.

1. 1 — Count the hours a normal month takes — [Patch windows](https://customhosted.com/patching), certificate checks, watching a dashboard, the odd late page — added up, not guessed at.
2. 2 — Apply your own hourly rate — Whatever that person would otherwise be doing — their salary line, plus the product work that doesn't happen while they're patching a server.
3. 3 — Add the incident tax — The evening an outage eats, or a restore that turns out not to work — infrequent, but not zero.

№ 03 The ledger

## Put your own numbers in

Every default below is a starting point, not an average — the basis printed on each row says exactly what it assumes. Edit anything that doesn't match your own setup.

Your situation Apps or sites you run — Your rate ($/hour) — Changes/month you'd ship if there were time On your plate today Patching the OS and runtime — Keeping the operating system and language runtime current against known vulnerabilities. — × apps — Default assumes: one small production stack, one person doing it between other work — After: **Included in every plan** — Hours/mo per app — Renewing TLS certificates — Tracking expiry dates and rotating certificates before they lapse. — Default assumes: one certificate, renewed on a standard cycle, nothing expired unexpectedly — After: **Included in every plan** — Hours/mo — Backups and restore drills — Scripting the backup job, then actually testing that a restore works. — Default assumes: one database, one restore drill a month — After: **Included in every plan** — Hours/mo — Monitoring and carrying the pager — Watching uptime and error-rate dashboards, and answering when something pages. — × apps — Default assumes: one person carrying the pager for one small stack — After: **Included in every plan** — Hours/mo per app — Keeping the deploy pipeline working — Maintaining the scripts and permissions that take a merge to production without doing it by hand. — Default assumes: one small production stack, pipeline already working, occasional upkeep — After: **Included in every plan** — Hours/mo — Shipping the small changes you'd make if there were time — Briefing a change, writing it, opening the pull request, and reviewing it before it merges. — Default assumes: 3 changes a month, 2 hours each — a small copy or config change, briefed and reviewed start to finish — After: **Agentic iteration — CodeHerder** — Hours/mo The incident tax one evening-eating outage or failed restore, a couple of times a year — infrequent, but not zero. Divided into a monthly figure and added to the total. Incidents/year — Hours each = 0.7 hrs/month, added above

Your time Hours / month

14.7 hrs/mo

176 hrs/year

At your rate $1100 your hours × your rate

The same month here

Static Pro Dedicated M Custom

$40/mo

Includes Agentic iteration — CodeHerder (+$25) when the iteration row above is checked.

Hours left with you

6–14.7 hrs/month

The low end is what still needs a human even once everything else above moves to us — reviewing a pull request, not writing it. The high end is today's total, if you'd rather keep doing it all yourself.

- Patching the OS and runtime — 2 hrs
- Renewing TLS certificates — 0.5 hrs
- Backups and restore drills — 1.5 hrs
- Monitoring and carrying the pager — 3 hrs
- Keeping the deploy pipeline working — 1 hrs
- Shipping the small changes you'd make if there were time — 6 hrs
- Incident tax — 0.7 hrs

[Get this quoted →](https://customhosted.com/contact) [Price the plan itself in the estimator](https://customhosted.com/pricing#estimate)

№ 04 Honestly

## What stays with you

None of the rows above reach zero on their own — this is the part the ledger doesn't try to price away.

- Deciding what to build — The product and roadmap calls are still yours — no ledger runs those for you.
- Reviewing the pull request before it merges — An agent opens it; a human still reads the diff and clicks merge.
- Your own content and domain calls — Pricing, copy, what the product actually does — that's yours either way.
- Support in business hours — A person who answers, not a round-the-clock operations centre.

More on what a handover honestly stops at [portability](https://customhosted.com/portability), what to expect from [support](https://customhosted.com/support), and [where we're the wrong choice](https://customhosted.com/compare#wrong-fit) outright.

№ 05 Where it goes instead

## The hours don't disappear — they move

Whatever the ledger above adds up to is the same time freed for the product itself, plus one more line already sitting in it.

Hours that stop going to patch windows and pager duty go to the product instead — the feature list, the content, the calls only you can make. That's the trade this page makes explicit: not "save money," but spend the hours somewhere else.

The **Shipping the small changes you'd make if there were time** row above is that trade running in one direction on its own: brief a change in plain language, an agent opens a pull request against the real repository, a human reviews it, and it ships through the same pipeline already serving the site — no separate environment, no second queue. CustomLabs builds the first version; CodeHerder's agents keep iterating on it after launch; CustomHosted keeps the result running underneath. See the loop end to end at [The Loop](https://customhosted.com/loop), how to phrase a change at [Brief a change](https://customhosted.com/brief), and three real examples with the actual diff stats at [Case files](https://customhosted.com/case-files).

№ 06 Answers

## Hours ledger questions

The follow-ups that come up once someone's actually filled the rows in.

1. 01 Where do the default hours come from? Nowhere but this page's own assumptions, stated next to each row. They're starting points sized around one small production stack, not an industry average — nobody's setup is the average, so edit every field to match your own.
2. 02 What if I don't know my own hourly rate? Use whatever that person would otherwise be doing with the time — their salary divided into hours, or a contractor rate if that is who currently does the work.
3. 03 Does the number ever reach zero? No, and this page doesn't claim it does. Deciding what to build, reviewing a pull request before it merges, and your own content calls stay with you regardless — see What stays with you below.
4. 04 How is the incident tax worked into the monthly figure? Incidents a year, times hours each, divided by twelve. It's the line most people forget to count because it doesn't show up every month — only in the month it happens.
5. 05 Where does the CodeHerder row come from? It's the same agentic iteration add-on listed on the rate card, not a separate estimate — check the box and the ledger's cost side adds exactly what the add-on costs.

№ 07 Keep pricing it

## What the ledger connects to

- [Should you host it yourself? The three-step method this page runs for you, laid out in full — including when the honest answer is to keep doing it yourself.](https://customhosted.com/guides/should-you-self-host)
- [Incidents What the "incident tax" row above is actually pricing — the first hour, and what carrying it yourself looks like.](https://customhosted.com/incidents)
- [The real cost of a website The same "where the hours really go" argument, with a three-year cost table alongside it.](https://customhosted.com/guides/the-real-cost-of-a-website)
- [Pricing This page's mirror image — size the money side of the same month.](https://customhosted.com/pricing)
- [Compare Weighing rolling it yourself against the alternatives? Dimension by dimension, including where we're the wrong choice.](https://customhosted.com/compare)
- [Performance A different kind of ledger — the measured page-weight budget behind the "fast on the edge" claim.](https://customhosted.com/performance)
- [Patching What the "patch windows" row above is pricing — the cadence, the severity table, and what a window costs you if it runs itself.](https://customhosted.com/patching)
- [In flight The other half of the iteration row above — what one change is, and how many actually ship in a month.](https://customhosted.com/in-flight)

## Ready to move some of these hours off your plate?

Describe the workload and get one fixed monthly rate in writing, within a business day.

[Get a quote →](https://customhosted.com/contact)
