We refuse to bill by the hour because it moves our mistakes onto your invoice. If I misjudge how long a screen takes to build, that is my problem to solve, not yours to pay for. A fixed price forces me to think hard before I promise anything, and that is exactly the discipline you want from the person building your software.
What an hourly rate is actually a bet on
An hourly contract looks simple: pick a rate, track the clock, send a bill. But underneath it, you are betting that the developer estimated correctly and stays honest when they did not. Most do. Some do not, and there is no way to tell from the invoice alone. I have seen quotes from other studios where "add a login screen" turned into 40 billed hours because the first attempt used the wrong library and had to be redone. The client paid for that mistake twice: once in money, once in trust.
The deeper issue is that hourly billing rewards the wrong thing. If I bill by the hour, a slow week is good for me and bad for you: a conflict of interest built into the pricing model itself.
Where this policy came from
Early on I did bill by the hour, because that is what everyone did. One project was a small scheduling tool for a landscaping company, maybe three weeks of work by my own estimate. It ran to six, not because the client changed their mind, but because I underestimated the calendar sync, twice. I sent the honest invoice, the client paid it without complaining, and I felt worse about that than if they had argued. They trusted a number I gave in good faith, and the number was wrong in a way that only benefited me. I decided that would not happen again on my clock.
How we get to a number without guessing
A fixed price only works if the scope behind it is real, so the process starts there. You describe the task, ideally through a one-page spec, and we turn it into a short written document: screens, integrations, platforms, what is in and what is explicitly out. That document is what the price is fixed against, not a vague idea of "an app like this." (We wrote more about what actually drives that price separately.) Once you sign off, the number only moves if you change the scope, never because we misjudged something, and you see the new number before we touch a line of code.
What it costs us
Fixed price is not free for us. We build in a margin for the unknowns we cannot see yet, so a project that goes smoothly earns us more than the same project billed hourly would have. Some clients notice this and ask to switch to hourly on the easy projects. We still say no: the model has to hold for the hard projects too, the ones where our estimate was wrong and the fixed price protects you. You cannot keep the protection only when it favors you.
It also means fixed price does not fit everything, and there is one case in particular where we do not even try: an incident. More on that below.
Where hourly billing is the only honest option
Support tickets after launch tend to arrive in the same handful of sentences. "I clicked this and then it did that." "We added a new plugin and it started happening." "I did not touch anything, it just broke on its own." This is the one place where hourly billing is not a compromise, it is the only fair way to charge for the work.
An incident starts as an unknown, by definition. Someone first has to find out what triggered it, which part of the system it touched, and which features are actually affected. That investigation alone can take fifteen minutes or two days, and there is no way to know which in advance: if we already knew the cause, it would be a known bug with a known fix, not an incident. Only after that does the real work begin, patching it and making sure it cannot happen the same way twice.
A fixed price is a promise built on a known scope. An incident is what happens when the known scope stops holding, so pricing it as if nothing had changed would mean selling you a guess dressed up as certainty. We agree upfront, before support starts, that incident investigation is billed hourly and everything else, planned maintenance, new features, an added screen, stays fixed.
Common follow-up questions
Does fixed price mean a slower or lower quality build, since there is no incentive to spend more time? The incentive runs the other way: we are paid to finish well, not to stay busy, so there is no reason to pad the work and every reason to solve it cleanly the first time.
What if I want to add something halfway through? You can, any time. We price the addition on its own and you decide whether it is worth it, instead of discovering it buried in a bill at the end of the month.
Does that mean support after launch is always billed by the hour? No. Planned maintenance and new features are quoted fixed. Only genuine incident investigation, the "why did this suddenly break" work, is hourly.
Can I get a fixed price without committing to build? Yes. Scoping and quoting is free and takes a few days. Describe the task through the contact form and you will get a number before you owe us anything.