№ 01 Hours

The hours ledger

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? already hands you on paper. This page just runs the arithmetic.

  1. 1

    Count the hours a normal month takes

    Patch windows, 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
On your plate today

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

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

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

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

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

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

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.

= 0.7 hrs/month, added above

№ 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.

№ 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 atThe Loop, how to phrase a change atBrief a change, and three real examples with the actual diff stats at Case files.

№ 06 Answers

Hours ledger questions

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

  1. 01Where 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. 02What 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. 03Does 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. 04How 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. 05Where 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.

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