← all articles

Configuration Over Custom Code: A Better Way to Build Multi-Jurisdiction Software

AI agents versus chatbots

Many software teams assume that expanding into new regions means building new applications. Different terminology, business rules, document formats and regulations often lead to duplicated codebases that quickly become expensive to maintain. In my experience, that's usually the wrong approach. The better solution is to separate business rules from application behaviour and treat variation as configuration instead of code.

This principle applies far beyond legal technology. Whether you're building healthcare software, financial platforms or enterprise SaaS products, the challenge is remarkably similar. The workflow remains largely the same while the surrounding rules change depending on where the software is deployed.

Identify the stable core

Every successful platform has a stable core. Users authenticate, data is captured, workflows progress through defined stages and reports are generated. These capabilities rarely change across markets. What changes are the labels, validation rules, document templates, approval processes and regulatory requirements that sit around that core.

Keeping the core stable allows engineering teams to invest in quality, performance and maintainability while adapting behaviour through configuration files or structured metadata.

Configuration scales better

Imagine supporting ten different jurisdictions. If every variation is implemented with conditional logic, the application becomes increasingly difficult to understand. Every feature introduces new branching paths, testing becomes more expensive and deployments become riskier. By contrast, a configuration-driven platform can load different templates, validation rules, terminology and workflow settings without modifying the underlying application.

Developers should build platforms

One of the most valuable mindset shifts is recognising that developers shouldn't spend their time repeatedly implementing the same feature for different customers. Instead, they should build capabilities that allow product owners, business analysts and domain experts to extend the platform through configuration. That dramatically increases delivery speed while reducing technical debt.

Design for change

No set of business rules remains static. Regulations evolve, terminology changes and organisations introduce new processes. Systems designed around configuration embrace that reality instead of fighting it. New markets become implementation projects rather than software rewrites, and updates can often be delivered without changing application code.

A long-term investment

Configuration-driven architecture requires more thought upfront, but it pays dividends for years. Teams ship faster, maintenance becomes simpler and expansion into new markets becomes significantly less risky. Good software isn't just built to solve today's problem. It's built so tomorrow's differences don't require starting again. That's one of the hallmarks of a platform designed to grow.

Matthew Ratcliffe, software developer and architect, Ballarat
Senior Software Engineer & Architect

20+ years across the technology stack — from greenfield builds to brownfield rescues. Based in Ballarat, VIC, focused on AI, healthcare and high-risk data systems. Full resume →

Share your thoughts