Fixed price or hourly: how I decide for your project
I work fixed price when the scope is fixed and hourly when the work is open-ended. When each fits, how a scope change is quoted, and which promises hold either way.
Anton Shubin5 min read
TL;DR
- I work fixed price when the scope is fixed, and hourly for staff augmentation, code reviews, or when the work is open-ended.
- If the scope changes after we start, you get a quote for the change before I start on it. No surprise costs.
- On hourly work I bill only the hours I spend on your project, never the time an AI agent runs on its own.
- A build and ongoing work both start with a small first milestone, a five-day refund and full ownership from day one.
Fixed price or hourly? When you hire a developer, it is one of the first things to settle. My rule fits in one sentence, and it is the same one on my How I work page:
I work fixed price when the scope is fixed, and hourly for staff augmentation, code reviews, or when the work is open-ended.
Below I explain what that means for you: how to tell which side your project is on, what happens when the scope changes, and what stays the same either way. The prices themselves live on Services, so I don't repeat them here.
When does a fixed price fit?
Link to section: When does a fixed price fit?A fixed price needs a scope you can write down: what gets built, and what does not. Then you get one number before any work starts, and you can plan your budget around it.
That is how the SaaS MVP build works. Its price and its timeline say "from", because both depend on the scope, and you get a quote for your scope before any work starts. The build opens with a short discovery sprint: a system architecture diagram, a tech stack recommendation with the reasons, an infrastructure cost estimate, the main risks, and a phased build roadmap with timeline estimates. The service page also says what the price leaves out. Integrations beyond Stripe, and features added after launch, are quoted once we scope them.
The code and security audit is fixed price too: three days of review, a written report with a prioritized fix roadmap, and a call to walk you through it. Fixing what it finds is a separate job, quoted as a build or as ongoing work.
So a fixed price suits you when:
- you know what the first version must do,
- the work has an end, such as a launch or a report,
- you want the cost settled before you commit.
When does hourly fit?
Link to section: When does hourly fit?Hourly fits work without a fixed edge. My rule names three kinds: staff augmentation, where I join your team; code reviews; and work that is open-ended. A fixed quote for that would be a guess, and one of us would pay for the guess.
That is the Ongoing service: architecture decisions, code review, technical direction for your developers, and looking after what is already in production. It has two ways to pay. Pay by the hour when the need comes and goes, or take a monthly retainer when it is steady. The retainer works out cheaper from about 20 hours a month.
Hourly, when AI agents do the typing
Link to section: Hourly, when AI agents do the typingI work with AI coding agents, so a fair question is whether you pay while they run. You don't. I bill only the hours I actually work on your project: setting the agents' tasks, checking their progress and reports, judging the quality, writing new rules, and calls. Once I hand the agents a batch of work, the timer stops. It starts again only when they have finished and I am back on your project. The full answer is on Why not just AI.
What happens when the scope changes?
Link to section: What happens when the scope changes?The rule is short: if the scope changes once we have started, you get a quote for the change before I start on it. No surprise costs.
On a build you see working software every week, with a short written update. So you always know where the project stands, instead of finding out at the end what the fixed price bought you.
Why do a build and ongoing work start small?
Link to section: Why do a build and ongoing work start small?A build and ongoing work both start with a small first milestone: one or two weeks of work. If either of us wants to stop at the end of it, we stop, and you keep everything built so far. On a build, the discovery sprint is part of that milestone, so you keep the diagram, the estimates and the roadmap too.
You don't have to commit to months of work before we know the collaboration is right. That holds whether the rest is a fixed price or hourly.
What stays the same either way?
Link to section: What stays the same either way?Three promises hold whether a build is fixed price or ongoing work is hourly:
- A five-day refund, on every service, the strategy session and the audit included. If in the first five days you feel it is not working, tell me and I refund what you paid.
- A small first milestone, on a build and on ongoing work alike, as above.
- Full ownership from day one, on a build and on ongoing work alike. The code, the accounts, the servers and the keys are in your name.
One promise comes with a fixed-price build only: free bug fixes for 30 days. Bugs in what I delivered are fixed on my time.
The full list of promises is on How I work.
Not sure which side your project is on?
Link to section: Not sure which side your project is on?That is normal when the idea is still forming. You can send a written brief: a paragraph about your idea or problem, and I write back with 3 concrete architectural improvements. No cost, no pitch. If you want a full hour on it, the paid strategy session gives you honest technical feedback and a plan you can act on, with or without me.
Or book a free 30-minute call, tell me what you are building, and we work out which one fits.
Get the next post by email
Anton Shubin
Senior Full-Stack Engineer & Tech Lead
I build greenfield SaaS on a modern, lightweight stack, alone or with a team of senior developers from my own pool, and I cover full-stack, DevOps and architecture.
New posts on decisions for founders, developer craft, AI and MCP, self-hosting, and my own mistakes, about once a week at most, and only when there is one. Unsubscribe with one click.
Questions, or a different result? Reply by email: hi@antonshubin.com. It comes straight to me.
