Case
EstateLab
Cloud software that lets Norwegian real estate companies keep properties, contracts and tenants in one place — and see rental income, vacancy and expiry at every level.

Context and problem
EstateLab set out to digitise real estate management for the Norwegian market: cloud software with no training, no installation, no maintenance and no licensing contracts — a company or a private landlord signs in and starts working. In one place: properties, plots, buildings, tenants, lease contracts, rental income, vacancy, expiry profile, financing and valuations.
The hard part is not the dashboard. It is everything upstream of it. A lease contract in this domain is not a record with five fields — it carries signature and start and end dates, CPI regulation with its own period and source, VAT status, payment plan, warranty, property tax, rent exemptions, uploaded documents, and events that fire alarms months later. All of it has to be entered by someone who did not buy the product to learn software.
Constraints
- An audience that includes older, non-technical users. One of the stated goals was to make the platform usable by an elder audience — which rules out density-for-experts as a strategy.
- Enterprise and individual users in the same product. An agency with a portfolio and a private landlord with one building had to share an interface.
- A dark, modern UI was a client requirement, alongside high accessibility — two things that fight each other unless the palette is chosen carefully.
- Light and dark themes, switchable manually or following the system.
- A full-featured platform, not an MVP — the scope was the whole product, from adding a property to reporting on a portfolio.
Decisions
The entry point is the portfolio, not a dashboard
A new user does not have data yet, so the first screen is where properties get created and listed — a dashboard shown before there is anything to show is an empty state pretending to be a product. The overview earns its place only once a portfolio exists.
One long form became five named steps
Adding a lease contract touches five different objects: tenant, contract, asset, event, and the summary that ties them together. As a single form it is unfillable — you cannot tell what you are halfway through. Splitting it into named steps with a visible position turns an ordeal into a sequence, and each step becomes small enough to abandon and resume.
Prevent the error instead of reporting it
Dates in this domain are traps: signature, start, end, CPI period start, first CPI registration, invoice start, warranty validity. Nothing stops a person entering an end date before a start date except the interface. Rather than validating after the fact, inputs constrain what can be chosen — a calendar rather than a text field, defaults carried from the dates already entered. Good error messages matter, but the better design removes the error-prone condition.
A summary that stays editable
The final step is not a confirmation screen. It shows every object gathered along the way — tenant, building, plot, contract, warranty, assets — each in its own card with an edit affordance in place. A wizard that ends in a read-only “are you sure” forces a restart to fix one wrong field.
Colour carries data, not decoration
The palette had to be bright enough to read on dark and quiet enough to leave attention on the content. Colour is spent on meaning: urgency in the events list, category in the space breakdown, year in the income comparison. Everything structural stays neutral.
Outcome
EstateLab launched and is used by customers across Norway. The platform covers the full path from adding a property to reporting on a portfolio, in light and dark themes, with the component library the team built against.