The honest answer to "how much does custom software cost?" is somewhere between R300,000 and R3,000,000. That range is real, not evasive. Custom software is not a commodity. The same feature built with the wrong architecture can cost three times more to maintain than one built right, and a project scoped by someone who doesn't understand your constraints will be repriced before you reach month three.

What follows is a practical breakdown of what actually drives cost, what the market rates look like in South Africa right now, and where projects consistently overrun. If you're trying to budget for a build, this gives you the inputs. If you're comparing quotes, it gives you a framework for understanding why they differ.

What the Numbers Actually Look Like

South African development rates vary by seniority and engagement model. As a rough guide:

  • Junior developer: R250–R400/hr
  • Mid-level developer: R400–R650/hr
  • Senior developer: R650–R1,000/hr
  • Agency day rate (team of 2–3): R8,000–R20,000/day

Translating that into project budgets:

  • Small internal tool or MVP (3–4 months, 1–2 developers): R300k–R600k
  • Medium product (6–9 months, 3–4 developers): R600k–R1.5M
  • Complex platform with integrations (12+ months): R1.5M–R3M+

Offshore development (India, Eastern Europe) comes in at $15–$50/hr depending on seniority. The cost gap looks significant until you factor in coordination overhead, timezone friction, and the rewrite risk that comes with teams who don't fully understand your business context. That's a separate conversation — but if you're weighing offshore against local, read the offshore development problem before you decide on rates alone.

What Actually Drives Cost

Most budget surprises in custom software don't come from the work that was scoped. They come from the work that wasn't. Understanding the real cost drivers lets you scope more accurately — and spot quotes that are too low before you sign them.

Complexity

  • Number of user roles and permission levels — each one multiplies the testing surface
  • Third-party integrations (payment gateways, ERPs, APIs, identity providers) — these are almost always underestimated
  • Real-time requirements (live updates, notifications, concurrent users) — different architecture, different cost
  • Offline-first or mobile requirements — not just "responsive web", but native app behaviour
  • Regulatory compliance (POPIA, PCI-DSS, HIPAA) — adds audit trails, access controls, and documentation overhead

Architecture decisions

  • Monolith vs. microservices — a monolith is cheaper to build; microservices are cheaper to scale. The wrong choice either way costs later
  • Cloud infrastructure setup — not just hosting, but environments, CI/CD pipelines, monitoring, backups
  • Database design — schema decisions made in month one are hard to undo in month twelve
  • Scalability headroom — building for 100 concurrent users vs. 10,000 is a different problem, not just a different config

Process and team

  • Discovery quality — a proper discovery phase (2–4 weeks) costs R40k–R80k and typically saves multiples of that in rework
  • Senior-to-junior ratio — a team led by juniors with senior review is cheaper per hour and slower in practice
  • Dedicated vs. shared team — context-switching across clients introduces invisible overhead on your project
  • Automated testing coverage — defaults vary enormously; ask before you assume it's included

Where costs hide

  • Scope creep — the features that "shouldn't take long" and accumulate into a second project
  • Integration surprises — third-party APIs that behave differently than documented, or that change mid-build
  • Undocumented requirements — business rules that everyone knows but no one wrote down, discovered in UAT
  • Technical debt carried forward — a rushed V1 that needs a partial rewrite before V2 can start

The Question Most Buyers Don't Ask

When evaluating a quote, most buyers focus on the build cost. The more useful question is: what does it cost if this goes wrong?

A rewrite is typically 60–80% of the original build cost — you're not starting from scratch, but you're unpicking enough that it's close. That risk is priced into good quotes through discovery, architecture review, and testing coverage. It's absent from cheap quotes. The difference isn't always visible in the line items.

The cheapest quote is often the most expensive project. The maths only work if it's delivered right the first time.

This is why the build-vs-buy decision matters before you price anything. Custom software is worth it when your problem is genuinely custom — when off-the-shelf solutions require so much compromise that you end up building workarounds anyway. It's not worth it when the problem is standard and the budget would be better spent on good configuration and integration of existing tools.

How to Use a Quote

When you receive a proposal, the price is less informative than the assumptions behind it. Look for:

  • What's explicitly excluded. A good proposal names what it doesn't cover — infrastructure costs, third-party licences, content migration, ongoing support.
  • How scope changes are handled. Fixed-price contracts transfer risk to the vendor; time-and-materials transfers it to you. Neither is inherently better — it depends on how well the problem is understood at scoping time.
  • Whether discovery is included or assumed. A quote that arrives without a proper discovery conversation has assumed your problem is simpler than described. It may be right. More often, it's optimistic.
  • What the testing approach is. Automated testing adds time and cost upfront. It typically halves the regression risk over the life of the project. Ask whether it's included by default, or optional.

If a proposal is significantly lower than others you've received, ask which of the above it's missing. The answer usually explains the gap.

For a detailed framework on what else to look at when comparing development partners, see how to evaluate a software development company — the commercial and accountability section is particularly relevant here.

If you're scoping a custom build and want a straight conversation about what it should cost and why — that's a conversation we're happy to have at CoolMinds, before anything commercial.

Start a conversation →

Armin Marxer writes at zeroclue.dev.