Skip to main content
NELLA Labs

Product Design

Pick the right aggregate root and half the product designs itself

In property software, teams model the property. The property is not the thing that persists — the tenancy is. The same mistake recurs across sectors.

NELLA Labs Design · Product and service design5 min read

Ask a team building property software what their central entity is and they will almost always say the property. It is the thing with a photograph and an address, so it feels like the subject. But nothing meaningful happens to a property. Things happen to the relationship between a property, a landlord and a tenant over several years — and that relationship is the tenancy.

How to tell you have chosen wrong

  • Answering an ordinary business question requires joining four tables and knowing which order events occurred in.
  • Users regularly ask for "the history" and you have to assemble it from several places.
  • Permissions are awkward: the natural access rule does not correspond to any single entity.
  • Disputes are resolved by searching email rather than by reading a record.

When we moved the aggregate from the property to the tenancy, several problems dissolved at once. Access control became a membership question against a single entity. History became a query rather than a reconstruction. Financial records had an obvious home. And the maintenance request that had been ambiguously attached to a property now sat inside the relationship that would be billed for it.

The same error in other sectors

  • Healthcare: teams model the appointment; the thing that persists is the episode of care.
  • Education: teams model the lesson; the thing that persists is the learner's progression against objectives.
  • Professional services: teams model the invoice; the thing that persists is the engagement.
  • Financial services: teams model the account balance; the thing that persists is the ledger of transactions that produces it.

Getting this right is one of the highest-leverage hours in a project, and it is nearly free at the start. Changing it after launch means migrating data, rewriting permissions and re-teaching users. It is worth spending a morning on before anyone opens an editor.

domain modellingarchitectureproduct

Related

Applied AI

Your RAG system is a data leak waiting to happen

Most retrieval-augmented generation systems enforce permissions at indexing time, or not at all. Both are wrong, and the failure is invisible until it is severe.

8 min read

Identity and Trust

Identity verification is an orchestration problem, not an integration problem

Teams integrate a verification vendor per country and end up with several incompatible processes and no single audit trail. The fix is to make the sequence itself the thing you build.

7 min read

Technology in Africa

Designing for the connection your users actually have

Building for Ghana and Nigeria changes architecture decisions that a London-only product never has to make. Most of them are about payload size and failure behaviour, not device capability.

6 min read

Service

Create

Take a new product from idea to a first release people actually use.

Product

Domicium

The rental relationship, from listing to renewal, in one record.

Next step

Dealing with this yourself?

Tell us what you are building. The Project Architect turns a rough description into a structured brief with an architecture direction.