Stefan Hansen ← All work

Operations Console Real-estate development — investor relations 2026

One record for the investor side of a development business, and every other tool reads from it.

Who the investors are, what they are in, what they have been paid and what was said to them lived across a spreadsheet database, an inbox and several people's memories. One record replaced all of it, and the apps built on top read from it rather than keeping copies.

A smart list evaluated against the record, then sent from the same screen.
Copies of the truth, before
4
Copies of the truth, after
1
Tools reading this record rather than copying it
4

Role

Product direction · Strategy · Brand and visual design · Interface design · Information architecture · Build direction

Client

A real-estate development firm

Origin

Self-initiated. Nobody commissioned it; the alternative was continuing to run the investor book out of a spreadsheet database, an email inbox and several people's memories, or licensing a customer database that has no idea what a share class or a maturity is.

The problem

The firm had four copies of the truth: the spreadsheet somebody maintains, the inbox where the conversations happened, the folder of documents that went out, and the memory of the two or three people who have been there longest.

That works until it doesn't. A maturity comes up and nobody is certain which of three near-identical records is the real one. A project update goes out and two people are missed, because the list was assembled by hand from a filter someone applied last quarter.

It was a shape problem rather than a discipline problem. The alternative was a spreadsheet that grows another column every quarter, or licensing a general-purpose customer system and spending a year bending it around objects it does not have — share classes, promissory notes, maturities, distributions, consent to be texted.

Exports: describe the spreadsheet you need in plain words, then take it as a file.
Exports: describe the spreadsheet you need in plain words, then take it as a file.

One record, and everything else reads from it

The Console holds the investor side of the business: every investor and entity, every active investment, every payment, and every logged conversation against the project it was about. The objects are the ones the business actually has — not contacts and deals with real estate bolted on the side.

The decision underneath it: everything reads, nothing copies. The tablet lookup, the offering pages sent to investors, and the photography library those pages are built from all read this record directly. There is no overnight sync to fall out of step.

The console on a phone, for adding a communication or checking a record in the field.
The console on a phone, for adding a communication or checking a record in the field.

A list is a question, not a list of names

A hand-assembled audience is correct on the day it is made and starts decaying immediately, with no signal that it has. That is how people get missed.

So a list here is a saved question rather than saved rows. Promissory notes maturing inside ninety days. Equity holders with capital in a live deal. Membership is worked out at the moment the list is opened, against the current record — then sent from the same screen, with what happened recorded per recipient.

Every investor with committed capital, activity and account type.
Every investor with committed capital, activity and account type.

The rest of it

  • Questions in plain language. Type what you would have asked a colleague and get back a sentence, the rows it came from, and the working — so the answer can be checked rather than believed.
  • Reporting in a sentence. Describe the spreadsheet you want; the builder shows how it read the request as editable pieces. Take it as a file, or publish it as a branded page on a link that expires.
  • Notice when something changes. Rules watch the record — a maturity approaching, a payment logged — and send word by email or text on the day it matters.
  • Built for a phone. Not the desktop layout narrowed. One job: look somebody up, and log what was just said, while it is still accurate.
  • Every change has a name on it. What changed, who changed it, when. Where the records are financial, that is what lets the record be treated as the source of truth.
The audit trail: every change, with who made it and when.
The audit trail: every change, with who made it and when.

What changed

  • The book became one record. Investors, investments, payments and projects in one place, with one place it is edited.
  • Audiences stopped going stale. A list is evaluated on open, so "who should get this" is current every time it is asked.
  • The blind spot closed. Sends are recorded per recipient, so what went out and what was done with it is on the record instead of in an inbox.
  • Answering a question stopped requiring a specialist. Anyone can ask the book something in plain language.
  • The other tools stopped keeping copies. The tablet lookup, the offering pages and the media library all read this record, so there is no sync to break.

None of this existed and none of it was going to. There was no vendor for it at a price this business would have paid, and the products that come closest do not know what a share class is.


Logging a call from a phone, minutes after it happened, against the investor it was about.