⟶ Insights / Custom Software
Custom software, bought properly.
A buyer's guide for CTOs and operations leaders funding a custom build - when it beats SaaS or low-code, what actually drives cost and timeline, how delivery should be structured, and the contract terms that protect you.
10 min read · Updated Aug 2026
Build, buy or low-code.
The honest test is not budget, it is differentiation. Own what makes you win; buy everything else and integrate it well.
| Situation | Call | Why |
|---|---|---|
| Process is your differentiator | Custom | If the workflow is the moat, configuring someone else's product flattens it. |
| Process is commodity | SaaS | Payroll, helpdesk, email - buy it, integrate it, move on. |
| Deep integration across 4+ systems | Custom | Integration logic is where SaaS pricing and API limits bite hardest. |
| Short-lived internal tool | Low-code | Under a 12-month lifespan, speed beats architecture. |
| Regulated data or audit trail | Custom | You need control of storage, retention, logging and access boundaries. |
| Unit economics matter at scale | Custom | Per-seat pricing compounds against you; owned software amortises. |
How delivery is structured.
01 Audit
1-2 weeksSystems, data model, integration surface, failure modes and the real constraint - written down, not assumed.
02 Blueprint
1-3 weeksArchitecture, data contracts, milestone plan, non-functional targets and a build-order that de-risks the hardest part first.
03 Execution
6-16 weeksTwo-week increments, demo per increment, CI from commit one, tests on the paths that would cost you money.
04 Compound
OngoingObservability, cost tuning, runbooks and handover so the system keeps paying back after we leave.
What moves cost and timeline.
We do not publish a price list - a number without scope is marketing. These are the six variables that decide the number after the Audit phase.
Integration count
Every external system adds auth, retries, mapping, and a failure mode you now own.
Data migration quality
Clean source data is a week; undocumented legacy data is a month.
Compliance surface
Audit logging, retention, residency and access reviews are engineering work, not paperwork.
Concurrency and scale targets
A 50-user internal tool and a 50k-user platform share almost no architecture.
Design ambition
A bespoke design system costs more than a disciplined component library - sometimes worth it.
Decision latency on your side
The most common overrun we see is not engineering; it is waiting for approvals.
Stack defaults.
Boring, well-understood technology with a deep hiring pool - so the system stays maintainable by whoever owns it in three years.
| Frontend | TypeScript, React, TanStack Start / Next.js, Tailwind, component-library-first |
| Backend | Python (FastAPI, Django) and Node.js - chosen by workload, not fashion |
| Data | PostgreSQL as default, Redis for cache and queues, object storage for blobs |
| AI layer | LLM gateways, RAG retrieval, evals and guardrails when the product needs them |
| Delivery | GitHub Actions, IaC, preview environments, structured logs, tracing and alerting |
Related reading: AI development vs custom software development and our custom software & AI-native product practice.
Frequently asked.
How much does custom software development cost?+
Cost tracks scope drivers, not line count. A focused internal system with two integrations is a different order of magnitude from a multi-tenant platform with billing, audit logging and an AI layer. We quote after the Audit phase, against a written scope - not before. We publish drivers rather than a price list because a number without scope is marketing, not an estimate.
How long does a custom build take before it is in production?+
For a well-scoped first release: 8-16 weeks from kickoff, with usable increments demoed every two weeks. Anything promising production in three weeks is either a prototype relabelled or a template with your logo on it. Anything quoting nine months before first release has not de-risked the hard part early.
Custom software vs SaaS - how do I decide?+
Ask whether the process is your differentiator. If competitors could buy the same product and get the same outcome, buy it. If the workflow is how you win - pricing logic, routing, underwriting, fulfilment - own it. Most mature stacks are hybrid: bought commodity, built differentiator, integrated properly.
Is low-code a cheaper alternative?+
For short-lived internal tools with simple data, yes. It stops being cheaper the moment you need custom auth, high concurrency, complex domain logic, real test coverage or portability - at which point you pay the rewrite you postponed, plus per-seat licensing in the meantime.
Who owns the code and the IP?+
You do, from the first commit. Full IP assignment, work-for-hire on all deliverables, your repository and your cloud accounts from day one, and a documented off-boarding plan - repo transfer, credential rotation, runbook handover - that runs automatically at contract end.
What happens to maintenance after launch?+
Budget 15-20% of build cost annually for dependency upgrades, security patching, observability and small changes. You can run it with your own team - we hand over runbooks and architecture docs for exactly that - or keep a fractional senior on a light retainer for oversight and incident support.
Can you modernise a legacy system instead of rewriting it?+
Usually, and usually you should. The pattern is strangler-fig: put a modern API boundary in front of the legacy system, move one bounded capability at a time behind it, keep both running until the old path is dead. Slower headline, far lower risk than a big-bang rewrite - and you keep shipping the whole time.
Do you use AI to write the code, and does that affect quality?+
We use AI-assisted engineering where it earns its place - scaffolding, tests, migrations, refactors - under senior review, with the same CI gates, code review and test discipline as hand-written work. It compresses the mechanical hours, not the architectural judgement. Every line is reviewed by the engineer whose name is on the pull request.
How do you keep a fixed-scope project from drifting?+
The Blueprint phase produces a written scope with explicit non-goals, and every change goes through a one-page impact note (cost, timeline, risk) before it enters a sprint. Scope changes are normal; silent scope changes are the problem.
Have a build you want scoped honestly?
Start with an Audit. Written architecture, written scope, written risks - then decide whether to fund the build.