Skip to content
Lab Twelve
← Field Notes
7 min read

Fixed-Price App Development: A Founder's Guide

Fixed-price only works when scope is structured before payment. Hourly billing rewards drift—here is how to buy fixed right.

By Brian— founder-engineer at Lab Twelve.

Fixed-price app development means you agree on a dollar amount and a definition of done before build starts. It works when scope is structured enough to price. It fails when "fixed price" is a sales line on top of vague requirements. Most horror stories are not about fixed pricing. They are about fixed pricing without a written scope.

Hourly billing is honest about uncertainty. You pay for time. Fixed pricing is honest about certainty. You pay for an outcome. The mistake is choosing fixed without forcing certainty first.

Why hourly billing misaligns incentives

Hourly billing is the default because it is easy to administer. It is also easy to abuse, usually without malice.

When a vendor bills by the hour:

  • Ambiguity pays. Vague requirements mean more discovery calls, more "quick questions," more rework.
  • Scope creep is revenue. Every "small tweak" that is actually a new feature adds hours.
  • Speed is punished. A senior developer who finishes in four hours earns less than a junior who takes twelve.
  • Estimates become anchors. "We think 200 hours" becomes a floor, not a cap.

Founders feel this as anxiety. You hesitate to ask questions because the meter runs. You skip clarifying auth requirements because you already burned budget on kickoff. The project drifts while everyone stays polite.

Fixed-price flips the incentive if scope is real. The vendor eats overrun on defined work. You eat change orders on undefined work. That split is fair only when "defined" is written down.

How fixed-price actually works at Lab Twelve

Our model is ScopeSpec → quote lock → build. You describe the app at /start. The AI scope chat fills structured fields: screens, auth, integrations, data model, notifications. When completeness is high enough, the pricing engine returns a fixed number from published offers.

You see Launch Page at $995, Micro App at $1,950, Business App at $3,950, or MVP Sprint at $6,950 before checkout. Add-ons attach to locked scope. The scope-lock checkbox means you agree this is what you are buying.

That sequence is the case study for buying fixed right. The price is not negotiated from a mood. It is derived from a spec both sides can read.

Fixed price without fixed scope is a bet that someone will eat the difference. Usually that someone is you, just later.

Brian, Lab Twelve

Hourly vs fixed vs dev lane

Founders often ask which model fits. This table is the honest comparison:

| Dimension | Hourly agency/freelancer | Fixed one-off build | Dev lane subscription | |-----------|--------------------------|---------------------|------------------------| | Best for | Open-ended discovery | Defined MVP or launch | Ongoing iteration post-v1 | | Price clarity | Estimate range, actual varies | Locked before payment | Monthly + per-request quotes | | Scope risk on vendor | Low (bill more hours) | High (must deliver defined work) | Medium (each request scoped) | | Scope risk on you | High (scope creep costs) | Low if scope-lock is real | Low if queue discipline holds | | Typical cost | $15k–$150k+ projects | $995–$6,950 first ship | $2,500–$8,500/mo | | Change requests | New hours | Priced add-ons | Next queued request | | Speed incentive | Mixed | High for productized studio | High with one active request |

None of these is universally correct. Hourly fits genuine R&D. Fixed fits a founder who knows the job-to-be-done. A dev lane fits weekly improvements after launch.

See web app development cost in 2026 for market context on the fixed tiers.

What "done" must mean in writing

Fixed-price contracts fail when "done" is a vibe. Write these before you pay:

Included features — List screens and behaviors. "User dashboard" is not enough. "User sees list of bookings with status filter and CSV export" is enough.

Excluded features — Explicit outs prevent mid-build arguments. No mobile app. No multi-tenant. No SAML. No public API.

Revision policy — How many rounds of visual and copy changes are included. What counts as a revision vs a new feature.

Acceptance criteria — How you agree it works. Deployed URL, test accounts, checklist signed.

Handoff — Repo access, env documentation, who owns hosting after launch.

Lab Twelve packages include revision rounds per tier and deployment. Anything outside the locked ScopeSpec is an add-on or a new purchase. That is not stinginess. It is how fixed price survives contact with reality.

Red flags in fixed-price contracts

Walk away or push hard if you see:

  1. "Fixed price" with no feature list. A number without a spec is a teaser rate.
  2. Unlimited revisions. Unlimited means undefined. Undefined means conflict.
  3. Payment before scope lock. 50% upfront before written scope is signed is a loan, not a milestone.
  4. "We will figure out details during build." That is hourly billing wearing a fixed-price hat.
  5. Intellectual property clauses that trap you. You should own code you paid for unless license terms are explicit.
  6. No change-order process. If new work has no pricing path, it will become either resentment or silent scope cut.

Also beware the low anchor. A $3,000 quote for "full Uber for X" is not fixed price. It is a loss leader or a change-order trap.

Change requests done right

Change requests are normal. Products learn. The question is whether new work is priced cleanly.

Good process:

  • New request → updated ScopeSpec or ticket → fixed add-on price → approval → build
  • Small fixes inside original acceptance criteria → included in revision rounds
  • Urgent production bugs in shipped scope → handled per support policy

Bad process:

  • Slack message: "Can we also add admin impersonation?" with no price conversation
  • "That was always implied" arguments at invoice time
  • Silent descoping where the vendor cuts QA to protect margin

Our AI-native pipeline makes change requests easier because scope is already structured. Adding a field to the spec re-runs the engine. You see the delta before work starts.

Fixed-price and the dev lane together

Some founders treat these as opposites. They are sequential.

Ship v1 on a fixed one-off: Micro App at $1,950 for a tight workflow, or MVP Sprint at $6,950 for a full-stack product. Learn from users. Then move to Dev Lane Pro at $5,000/mo for steady improvements without hiring.

The lane is not "unlimited fixed price." Each meaningful request still gets scoped and quoted if it exceeds lane allowance. Small fixes ride in the subscription. Net-new modules get tickets. Read what is a dev lane for the mechanics.

Questions to ask any fixed-price vendor

Before you sign:

  1. Show me the structured scope artifact. Is it fields or prose?
  2. Where is the price derived from? Published tiers or a custom spreadsheet?
  3. What happens when I ask for something not on the list?
  4. Who owns the code and deployment credentials at handoff?
  5. What is your verify step before you call it shipped?

If answers are vague, you are not buying fixed price. You are buying hope.

The honest take

Fixed-price development is not safer than hourly. It is safer than hourly when scope is locked. Founders who want a number without answering questions about auth, payments, and admin screens are not ready for fixed delivery. That is fine. Better to learn that in a scope chat than at week three of a burning retainer.

Run your idea through /start when you are ready to write scope down. Compare tiers on pricing. See examples of what done looks like at each level.

Get a fixed quote in one conversation

Describe your build and get a fixed quote before you pay.

Start an AI scope →

Related

Ready to scope your app?

Describe your build and get a fixed quote before you pay.

Start an AI scope