A member is not a record.
That sounds obvious. But most association management platforms are built as though it isn't. There's a row in a table. There's a name, an email address, and a dues status. When something needs to happen, someone queries the table and acts on what they find.
The problem is that a member exists inside a web of connections the table doesn't accurately capture. They work at a brokerage. They serve on a committee. They hold an MLS subscription tied to a license issued by a state they may or may not still be working in. They have a billing history. They have a Code of Ethics completion record. They have a broker who is responsible for them and needs to know when their status changes.
None of those things are the member. And all of them matter.
Data That Knows How People Connect
Tangilla is built around relationships as a first principle. Not relationships in the soft sense. In the data sense.
A relationship is the intersection of a person, an office, and a role.
That's not a metaphor. It's the actual structure of the database. You cannot exist inside Tangilla without having at least one defined relationship with the association. Even someone who just wants to take a continuing education course, someone who is not a member, with no intention of becoming one, enters as a non-member in a non-member education office with a non-member education role. The relationship is defined before access is granted.
This matters because the relationship is how context travels.
When a broker goes on vacation and wants a colleague to temporarily step in, that's not a permissions problem to solve manually. It's a relationship with a start date, an end date, and access rules that resolve automatically at the broker's discretion. In Tangilla, the broker opens her portal, delegates group MLS access to her colleague, and the next time that colleague logs in, she sees the brokerage tools and can act on them as if she were the broker. When the broker chooses to end the delegation, it ends. No phone call. No help desk ticket. No one at the association needs to manually flip a switch.
That's the relationship doing the work a database row can't.
History That Belongs to the Person
Here's what a flat record can't hold: a broker who holds multiple relationships simultaneously.
We regularly see brokers in our system who carry four, five, six active relationships. They have one role in one office and adifferent role in another, each with its own subscription, its own invoices, its own access rights. Each is a different relationship in Tangilla, but just one person. A flat system has to pick one. Or it forces staff to maintain parallel records and stitch them together by hand.
Tangilla holds all of it. Each relationship card carries the subscriptions and billing context specific to those relationships. A member's history belongs to the person, not the office. When she transfers from one brokerage to another, she carries her history with her because the history was never stored against the office in the first place.
When the License Changes, The Relationship Changes
The relationship structure also means that changes upstream cascade correctly downstream... automatically.
If a member's real estate license goes inactive, Tangilla creates an incident on their association subscription. The member gets an email. Their services suspend. When the license goes active again, the services come back on. No staff intervention required.
This isn't a feature layered on top of the data model. It's the data model. Because Tangilla knows that a license helps define a role, a person, an office, and a subscription are may be impacted when it changes. it can act on those connections without a human supplying the missing context. It knows the context.
The alternative is a database that knows a lot of facts about people but doesn't understand how those people connect to each other. That database will always need a human to bridge the gap. The associations that feel perpetually understaffed? They're usually running one of those.
The Context the Software Is Missing
Most AMS platforms were designed to store data. Tangilla was designed to understand it.
That distinction between storing and understanding is the difference. Storing data means capturing facts. Understanding data means knowing how those facts relate to each other and being able to act on that knowledge without waiting to be told.
Tangilla tries to already know the context. Because the relationship is the context.



