Development is rarely just the hours spent writing code. Discovery, architecture, testing, deployment, documentation, client communication, and post-launch support all consume capacity. A defensible rate makes that invisible work visible before the estimate becomes a promise.
Start with your delivery system, not a market average
Your internal hourly floor should fund compensation, tax, software, equipment, insurance, learning, and sales time across the hours you can actually invoice. A specialist with a mature delivery system may complete work faster, but that efficiency should improve the business—not automatically reduce the project value.
- Include discovery, estimation, QA, deployment, and handover time.
- Budget for hosting, testing services, devices, and developer tooling.
- Separate build work from maintenance and response-time commitments.
Choose a pricing model that matches uncertainty
Use hourly pricing for open-ended debugging or changing backlogs. Use a day rate for focused build sessions and workshops. Use a fixed fee when the acceptance criteria, dependencies, and revision path are clear. A phased discovery engagement is often safer when the client cannot yet define the system.
- Quote third-party integrations as explicit assumptions.
- Define browser, device, accessibility, and performance targets.
- Price rush launches and inherited codebases for their opportunity cost and risk.
Worked planning example
Suppose your annual revenue plan is $144,000 and you expect 1,200 billable hours. Your internal floor is $120 per hour. A 70-hour build starts at $8,400. Adding a 20% delivery reserve produces a $10,080 planning checkpoint before any value, urgency, licensing, or ongoing support adjustment. This is an illustration, not a market benchmark.
- Labor base: 70 × $120 = $8,400
- Delivery reserve: $1,680
- Planning checkpoint: $10,080
Protect the quote with scope language
List the supplied content, environments, integrations, acceptance process, revision rounds, launch responsibility, warranty window, and support boundary. When a dependency changes, use a documented change request instead of absorbing it into the original fee.
Price the complete delivery responsibility, not only the visible coding hours.
Educational planning content only. Pricing, taxes, contracts, and client circumstances vary; use professional advice where appropriate.