A balanced perspective on when to leverage abstraction layers and when to dive deep into custom development.
The False Dichotomy
The low-code vs. high-code debate is often framed as a binary choice: either you use visual development platforms that constrain your architecture but move faster, or you write everything from scratch with complete control but at the cost of velocity. This framing is both inaccurate and unhelpful. The sophisticated engineering organisation uses both, strategically, based on where in the product the trade-off calculation favours each approach.
Where Low-Code Wins
Low-code platforms like Retool, Appsmith, and Bubble shine in a specific set of scenarios: internal tooling, workflow automation, and rapid prototyping. An internal admin dashboard that business operations uses to review orders and issue refunds does not need to be a hand-crafted React application. Building it in Retool is 10x faster, and its marginal reliability and performance are entirely acceptable for its use case.
Similarly, workflow automation platforms like n8n, Zapier, and Make (formerly Integromat) can wire together existing SaaS tools — CRM, email, Slack, billing — with sophisticated conditional logic, without a single line of code. For the startups and growth-stage companies that make up a significant portion of our client base, these tools replace engineering work that would otherwise sit in a backlog for quarters.
Where High-Code is Non-Negotiable
High-code — or more precisely, full custom development — is non-negotiable for three categories of software: your core product differentiator, anything requiring custom performance characteristics, and systems with complex security or compliance requirements.
Your core product should never be built on a low-code platform. The platform vendor controls your architecture, your data, and your ability to scale. The ceiling of what you can build is set by the platform, not your engineers. If your product is the source of your competitive moat, surrender of architectural control to a platform vendor is an existential risk.
The Hybrid Architecture Pattern
The most effective enterprise engineering organisations use a hybrid architecture: a custom-built core product, surrounded by a halo of low-code automation and tooling that handles the long tail of operational workflows that would otherwise consume high-value engineering time.
In practice, this means the product engineering team builds and maintains the core APIs, data models, and user-facing features, while a team of 'citizen developers' — business analysts and operations specialists empowered with low-code tools — build the internal tooling, reporting dashboards, and operational automations that serve the business's day-to-day needs. This division of labour multiplies the effective output of a fixed engineering headcount.
The Total Cost of Ownership Question
Low-code platforms are often sold on their low upfront cost, but the total cost of ownership picture is more complex. Platform licensing costs scale with usage. Custom logic that exceeds the platform's design parameters requires increasingly baroque workarounds. And when the business outgrows the platform — as successful businesses inevitably do — the cost of migrating (both in dollars and in organisational disruption) can be significant. Entering a low-code platform engagement with an eye on the exit condition is good risk management.



