Do hundreds of people with different permissions need to work inside one system and read the same numbers?

Multi-user systems with layered permissions, management panels, and analysis screens that turn operational data into charts people actually read. We build the part that has to hold when everyone is logged in.

The problem

The request usually arrives as a list of screens, and the screens are the easy part. What decides whether the system works is everything behind them: a permission model that changes as the organisation does, analysis pages that have to answer a manager's question at a glance rather than through a spreadsheet export, and performance that holds on a Monday morning with everyone logged in. Systems built screen-first work in the demo and degrade in the first month of real use, and by then the data model is the thing everyone depends on.

How we approach it

We start with the roles and the numbers: who needs to see which records, how many people are in at once, and which questions the analysis pages must answer. Permissions are enforced in one place on the server, so every screen is a view of that rule rather than a re-implementation of it, and the model is built to be extended without a rewrite. Analysis pages are designed around the decisions they support: the right chart for each question, filters that combine, and aggregation precomputed so a page reads a handful of rows. Load is tested before the first screen is polished.

Worked example

Management analytics for a nationwide road network

A national highways authority manages its road network through a platform used by field teams and head-office managers alike. Over two years on that platform we built the analysis pages the managers work from: a large set of chart types, filters that combine by region, period, asset and status, and aggregation designed so that even the heaviest view answers in a moment. The same platform carried a multi-layer, dynamic permission structure that decided who could see and change what. We fixed its faults, extended it with new structures, and reworked the existing ones as the organisation changed. A large mining group later needed the same kind of analysis and permission layer, and we built it there too.

What you get

  • A permission model that matches how the organisation is actually structured, enforced server-side
  • Analysis pages built around the decisions they support: charts, combinable filters, exports
  • The system itself, load-tested at the concurrency you actually expect
  • Handover documentation so your own team can operate and extend it
Describe your problem