We are a US-based development company, so treat what follows accordingly. We have tried to write the version we would want to read if we were buying, which means it includes the cases where we are the wrong answer.
The comparison everybody makes
Hourly rates. US senior engineers are commonly quoted between $125 and $250 an hour. Offshore agencies frequently quote $25 to $60. Blended nearshore lands somewhere between.
On that basis the decision looks obvious, and for some projects it genuinely is. The problem is that an hourly rate is a price for an hour, and nobody is buying hours. You are buying a working system, and the two are related by a multiplier nobody puts in the proposal.
The arithmetic nobody does
Total cost is rate × hours, and the interesting variable is hours. Four things move it, and none of them appear on a rate card.
Specification overhead
The further the builder is from the decision, the more precisely the decision has to be written down. Work that a colleague in the room would have inferred becomes a document, a ticket and a round of clarification. That overhead is real, it lands on your team, and it is usually unbilled — which makes it invisible in a cost comparison while still being a cost.
Round-trip latency
A question asked at 2pm and answered at 2pm costs a few minutes. The same question across a twelve-hour offset costs a day, and a chain of three such questions costs most of a week. Fewer hours are burned than you would think; more calendar is burned than anyone plans for. Calendar has a cost too — it just does not appear on the invoice.
Rework
The dominant term, and the one that varies most. Software built from a specification that was slightly wrong is software that has to be partly rebuilt. This is not about capability — plenty of excellent engineers work at offshore rates — it is about how expensive a misunderstanding is to detect and correct.
Handover
When the engagement ends, somebody has to run the thing. If nobody left on the project can answer questions about it, the first six months of ownership are archaeology. We price this in by never handing over at all — we run what we build — but if your model does involve a handover, budget for it explicitly.
Doing the arithmetic
Take a project both sides estimate at 800 hours of build. Offshore at $45 an hour is $36,000. Onshore at $175 is $140,000. Nearly four times, and on those numbers the decision is made.
Now add the terms that do not appear. Suppose the offshore engagement needs 30% more hours because the specification had to carry context a colleague would have inferred — 1,040 hours, $46,800. Suppose your own product lead spends eight hours a week on specification and review across a six-month build rather than three: an extra 130 hours of someone whose loaded cost is $90 an hour, which is $11,700 that never appears on any invoice. Say a fifth of the build is reworked once: another $9,400.
That is roughly $68,000 against $140,000. Still half. Offshore genuinely wins that one, and we would say so.
Change one assumption — the requirements were not settled, and half the build gets reworked rather than a fifth — and you are near $92,000 with a calendar that has slipped a quarter. The gap narrows to something a shorter timeline and a lower coordination load can plausibly close. Change it again, to a product being discovered as it is built, and the multiplier stops being predictable at all.
Those are illustrative numbers, not ours — the point is only that the honest comparison has four terms in it and the rate card shows one. Run it with your own figures before you decide.
When offshore is the right answer
We mean this, and we say it in first conversations.
- The specification is genuinely complete and unlikely to change. A defined port, a known integration, a rebuild of something that already exists and works.
- The work is large, repetitive and well understood. Volume work is exactly where a rate advantage compounds instead of being eaten by rework.
- You already have strong technical leadership in-house. If you have someone who can write a real specification and review the output properly, you have supplied the expensive part yourself.
- The budget is the constraint. If a project is $40,000 or it does not happen, that is not a preference to argue with.
When it usually is not
- The requirements are still being discovered. Most first versions are. Discovery is a conversation, and conversations do not survive a twelve-hour offset intact.
- The domain is unusual. Regulated, or full of exceptions that only make sense with context nobody has written down — because nobody knew it needed writing down.
- Nobody on your side can review the work technically. Then you are buying on trust, and trust is much cheaper to establish with people you can meet.
- It has to be run as well as built. On-call across time zones is a different and more expensive arrangement than it looks.
What this actually costs with us
Our ranges are published rather than quoted on a call: $3,000 to $25,000 for a marketing site, $25,000 to $150,000 for a web application, $40,000 to $150,000 for a native app per platform. Three worked examples with timelines and monthly run costs are on the pricing page.
We are not the cheapest quote you will get, and if somebody tells you onshore costs the same per hour, be suspicious of the rest of what they say. What we argue is narrower: for work where the requirements are still moving, the total is often closer than the rate comparison suggests, and occasionally lower.
Every line of our code is written in the United States by the people you met, with no subcontracting and no partner shop you were not told about. The full argument is on the built in the USA page. If after reading the list above you conclude your project is in the offshore column, that is a good outcome — you will have reached it on the arithmetic rather than on the rate card, and that is the only part we were ever arguing about.