How we price a project: the itsolutions calculator, opened up
Every line in our calculator has a 'why'. I open the engine: rates, scope units, complexity modifiers, and why a technical contingency isn't a scam.
Dawid Zmarzlak/Published/5 min read
Clients ask me one question more than any other: "Where does this price
actually come from?". If the answer is "experience," that's not an answer.
So the site has a public calculator, and this post explains what's under
its hood.
What the calculator is not
The calculator does not produce a binding quote. Three reasons:
Every project carries invisible risk that sliders can't see (legacy
backends, accounting integrations, GDPR-sensitive data).
A quote at brief stage has a ±20% spread. That's not weakness - it's
honesty. Quotes priced to the złoty on the first call usually mean someone
silently added a 30% buffer.
The calculator has exactly one job: break the client out of "I don't
know what this costs" mode and put an honest range on the table
before we even talk.
After "Send" I get an Application in the admin panel and reach out with
context. From that point the calculator is no longer needed.
±20%
quote spread
That's the weight of brief-stage uncertainty. Less = someone is guessing.
0.7d
per page beyond 5
Cost drops with every extra subpage - templates repeat.
2 mo.
support included
Longer SLA billed separately, not hidden in the rate.
Anatomy of the price - what we actually compute
Every quote has three layers:
total = base_rate × scope_units × complexity_multiplier + fixed_costs
Let me break it down.
1. base_rate - hourly or daily
The rate is not fixed. It depends on:
technology - Next.js + headless WordPress costs less per hour than
custom Spring Boot with payment integrations, because deployment risk is
different;
engagement model - fixed price has a higher rate than T&M (Time &
Materials), because I'm carrying budget-overrun risk;
deadline - a "needed yesterday" project carries a 15-25% surcharge
because it forces me to reshuffle existing commitments.
2. scope_units - what we're actually building
These are not "pages." They are units of work:
Unit
Avg. time
What it includes
Static page (Home, About)
0.5-1 day
Figma → UI, copy, responsive, a11y
Page with form
1-1.5 days
Validation, backend wiring, anti-spam
Shop - one category + filters
2-3 days
Listing, filters, pagination, SEO
External integration
1-3 days
Auth, data mapping, error handling
CMS - new content type
0.5-1 day
Editor, validation, preview
The calculator adds 0.7 day per page beyond 5, not linearly - because
templates repeat and every next page costs less than the first.
3. complexity_multiplier - what raises risk
These are the sliders the client toggles in step two of the calculator:
ERP integration
×1.4
Rank on Google
×1.3
Need a CMS
×1.2
Bilingual site
×1.15
Have Figma design
×0.85
Complexity multiplier - 1.0 is the baseline project; below = cheaper, above = pricier
"I already have a Figma design" → ×0.85 (less design work)
"I need a CMS" → ×1.2 (Sanity / headless WP + training)
"I'm integrating with our ERP" → ×1.4 (usually has hidden complications)
"I need to rank on Google" → ×1.3 (SEO is not a checkbox)
Hosting and domain (if the client doesn't have any): 200-400 zł / year,
passed through 1:1.
Licenses (premium theme, WP plugin, commercial font): invoice goes to the
client.
Paid external APIs (Sanity, Resend, Turnstile): range estimated in the
brief.
These are always separated from labor cost so the client can see what
goes to me vs. what goes to vendors.
What the calculator does worse than a conversation
Three things:
It doesn't tell "I have content" from "I have content." The client
checks the box, but 80% of the time that means "I have a Word doc from
2019 and some phone photos." That is real additional editorial work.
It doesn't see integrations that aren't in the catalog yet. If
someone wants to plug in a homegrown booking system on PHP 5.6, that's
not a slider - that's discovery.
It doesn't price maintenance. Default is 2 months of post-launch
support included; long-term SLAs are quoted separately.
Why publish this at all
Because the absence of pricing transparency is the main reason clients
get stuck with agencies that issue chaotic fixed-price quotes "from 4,990 zł
net" and then send a 30k invoice.
“
Better to say "15-25k, we'll narrow it down after the brief" and deliver,
than promise 7k and invoice 22.
”
- the itsolutions pricing rule
If a competitor wants to copy this model - go ahead. Clients win
eventually, and I'm playing my own game anyway.
You already know how the calculator works - time to run your own project through it. Open the pricing calculator and get a live quote, no email or phone call needed.