Service

Platforms, dashboards and client portals

Multi-user platforms where your clients, partners or staff log in and get their own view.

Host dashboard: multi-listing bookings calendar, earnings chart and next payouts.

What it is

A platform is software that many organisations or people use at once, each with their own account, data and rights: client portals, partner extranets, marketplaces, public services with accounts.

The example below is a booking marketplace we built for our portfolio: guests search and book, hosts manage calendars and payouts. The hard parts are the ones you do not see on the screens.

What makes a platform hard

Many clients, one system, separate data

A platform serves many organisations or people from one system. Each must see only its own data, and that separation cannot depend on every developer remembering a filter. We enforce it in the database itself, with row-level rules, and test it: a test signs in as one client and checks that every request for another client's records is refused.

Two people, one record

When two people edit the same record at once, the second save must not silently erase the first. We detect the conflict, show both versions and let the person decide. The same care applies to stock, seats or booking slots: two buyers cannot both get the last one.

Two-sided platforms

A marketplace has two kinds of users with opposite needs. Hosts or sellers want simple listing tools, clear payouts and protection from bad buyers. Buyers want search that finds the right item quickly, honest prices with fees shown before checkout, and reviews they can trust.

The parts that decide whether a marketplace works are mostly invisible: availability that stays correct, payments held until the service is delivered, payouts split between parties, refunds, and moderation of listings and reviews. We design those flows on paper with you before writing the first screen.

Fast with ten users, fast with ten thousand

Pages that are quick in a demo often slow down as the data grows. We load the platform with generated data at the size you expect in three years and measure how long the slowest pages take. Indexes, pagination and caching are added where the measurements say they are needed.

Running it

A platform needs a test environment that mirrors the live one, releases on a known schedule, alerts that reach a person, and backups that are restored to a test copy on a regular basis to prove they work. We set these up before launch and write them down so another team could take over.

Example build

Demonstration builds made for our portfolio, running on generated data. No client data is shown.

Search results: search bar, category strip, price toggle, sorting and the grid of stay cards.
Search results: search bar, category strip, price toggle, sorting and the grid of stay cards.
Search results in map view, with a price pin selected and its stay card open on the map.
Search results in map view, with a price pin selected and its stay card open on the map.
Regional dashboard for renewable electricity: indicator and year controls, choropleth map and ranking.
Regional dashboard for renewable electricity: indicator and year controls, choropleth map and ranking.
Dataset page for private rents: API endpoint, code tabs and sample JSON response.
Dataset page for private rents: API endpoint, code tabs and sample JSON response.

What you receive

What a project of this kind typically hands over. The exact list is set in the written scope.

  • A platform in production

    Running at your address, with separate test and live environments and sign-in by e-mail or single sign-on.

  • Proof that clients are separated

    Separation is enforced in the database and checked by tests, not left to each screen.

  • Money flows written down

    Payments, holds, payouts and refunds agreed on paper before they are built.

  • Measured at the size you expect

    We test with three years of generated data and fix the slow pages before launch.

  • Alerts and tested backups

    Written down and rehearsed, so another team could run it.

  • A plan for after launch

    How updates are made and announced, agreed before launch.

How a project runs

Typical timings. Your scope sets the real ones.

  1. Weeks 1 to 2

    Flows on paper

    Who the users are, what each can do, how money moves if it does. We draw every flow and agree on it before any code.

  2. Weeks 3 to 5

    Core and permissions

    Accounts, data separation and the main records, with the tests that prove one client cannot see another.

  3. Following weeks

    Features in order of risk

    The hardest flows first (payments, availability, conflicts), the simple screens last.

  4. Before launch

    Load test and rehearsal

    Generated data at three years' size, slow pages fixed, a restore of the backups rehearsed.

  5. Launch and after

    Staged opening

    A first group of users, then everyone. Releases follow a fixed schedule with notes for users.

Have a project like this one? Tell us what you need in a few lines.

Send us the brief

Other services

Back to home