What we charge and why.
Our prices are on the website. Here is the reasoning behind them, including the parts that are uncomfortable.
Lede
Almost no agency publishes prices. The stated reason is that every project is different. The real reason is that the number depends on what they think you can pay, and publishing it removes that flexibility.
We publish ours. It costs us some margin on large engagements and saves everyone time on the ones that were never going to happen.
Why fixed and not hourly
Hourly billing makes our incentives and yours point in opposite directions. Every hour of scope creep, every rebuild, every meeting is revenue for us and cost for you. Agencies do not usually exploit this deliberately — they just stop feeling urgency, which produces the same result more slowly.
Fixed price inverts it. Once the number is agreed, every inefficiency is ours. If we misjudge the estimate, that is our problem and we absorb it. This is uncomfortable for us occasionally and it is the correct arrangement.
The cost of that arrangement is that scope has to be genuinely fixed. We spend real effort on the scope document because it is the thing protecting both of us, and we will push back on "we'll figure that part out later" harder than you might expect. Later is where fixed-price engagements go to die.
What the numbers assume
A sprint at $4,500 assumes one problem, two weeks, and a decision-maker who answers within a day. A launch-ready product at $9,500 assumes a scope we agreed in writing and access to your repo on day one. Monthly operations assume an exception queue with a named owner on your side.
When those assumptions do not hold, the price is not what changes first — the timeline is. We would rather tell you that in the scoping call than discover it halfway through.
What we will not do
We do not bill for discovery. If we cannot scope your problem in a call and a follow-up, we do not understand it well enough to charge you for it.
We do not take retainer work with no defined outcome. "Some engineering capacity, ongoing" is a comfortable arrangement that produces very little and is difficult to cancel, which is exactly why it is popular.
We do not resell model capacity. You hold your own provider accounts and pay them directly. It means our margin is visible and our model recommendations are not a revenue decision.
None of this is charity. Transparent pricing attracts clients who value being told the truth, and those clients are much better to work with than the ones you win by being vague.