Skip to content
All work

Telco · Client · 2025 — now

Part of Replacing a telco's order management while it keeps taking orders

Business rules as data, one engine for UI and backend

Hundreds of eligibility, compatibility and validation rules kept as data and evaluated by one engine, so the screen and the server always give the same answer.

Context

Whether a product can be added to a quote, combined with another, or changed on an existing order depends on hundreds of rules. When the UI checks one version of a rule and the backend another, users see one answer on screen and get a different one when they submit. And every rule written in code waits for a release when the business changes it.

How a rule works

A rule is a row, not code. The engine reads it and runs it.

Scopewhere it appliesParametersvalues it needsConditionwhen it firesResultblock, warn or set

Anatomy of a rule

The decisions

  • One engine. The UI doesn't have its own copy of the rules. It calls the same engine the backend uses, so the answer is the same everywhere.
  • Rules are data. A rule has a lifecycle and validity dates. A rule built from existing commands is added or changed without a deployment.
  • Commands are code. When a rule needs something new to read or set, it becomes a new command: written once, reviewed and tested like any other code, then reusable by every rule.

My part

I led the team that built it.