// Case study / Personality intelligence

Personality data a team can actually act on

Most assessments end where the useful part starts: they name your type and stop. We built the layer that answers what comes next — how these two particular people should work together — and made it produce something a whole team can use in a room, rather than something one person reads once and forgets.

This engagement is shown without the client's name, at their preference. The problem and the build are described as delivered.

The challenge

Assessments named a personality type and stopped, leaving teams holding labels instead of guidance.

What we did

A platform where the scoring is deterministic, the result is confirmed by the person it describes, and the output is written for teams rather than individuals.

  • Types confirmed by the user, not asserted by a model
  • Guidance for every pair of types, not just each person
  • Team reports written differently for each reader

The situation

A real estate business runs regular in-person sessions where teams are brought together to work on how they collaborate. Personality assessments were already part of that, but the output was stubbornly individual: everyone left knowing their own four letters and nothing about the person sitting opposite them.

The assessment was never the hard part. Off-the-shelf tools have been typing personalities competently for decades. The problem is where they stop — a report arrives, the reader recognises themselves in it, and nothing about how the team works is any different on Monday.

The business had already tried an established off-the-shelf product and hit three walls with it. Licensing cost scaled in the direction that punished exactly the usage they wanted more of. Customisation was limited enough that the output could not be shaped around their own sessions. And it was built for someone reading alone at a desk, not for a facilitator putting results in front of a room of people who had just met.

What those sessions needed was the sentence after the type. Not "you are an ISTP", but how an ISTP and an ISFJ should split a decision, where the two of them will grate on each other under a deadline, and what the facilitator should do about it in the next hour. That is a different product, and none of the available ones produced it.

What we built

The central decision was to keep the model away from anything it could get quietly wrong. Scoring is deterministic and the AI only writes — it never decides what someone is.

An assessment that checks its own answer

Twenty slider questions, five for each of the four preference pairs, scored deterministically — the value carries the intensity, so identical answers always produce an identical type. The reader then rates how well the description fits. Below ninety per cent, a second candidate type is offered and they choose between them. What gets stored is a type the person has agreed to, not one asserted at them.

Guidance for every pair of types

Sixteen types produce two hundred and fifty-six pairings, and each one carries its own guidance: how to communicate, how to influence, how to give feedback, and what happens between those two under stress. Drafted with AI and then curated by both teams over a couple of days — the pass that mattered was cutting generic filler and fixing tone, because guidance that could apply to anyone helps no one.

Team reports, written per reader

A team report covers composition, the four preference splits, a communication matrix, conflict flashpoints, meeting strategy and blind spots — and every section also addresses the individual reading it. The same team produces a different report for each member, because advice about a group is only useful once you know where you sit in it.

Composition made visible before hiring

The report names which temperaments a team is missing rather than only describing the ones present. A team with no conceptualisers reads differently once that absence is stated plainly, and it turns an assessment result into an input for the next hire.

Oversight without exposure

The administrative view reports users, teams, assessment volume, type distribution and self-reported accuracy, with tagging so teams stay findable as the numbers grow. It deliberately shows confirmed types and never individual reports — administrators get the picture they need to run the programme without being handed everyone’s personal profile.

Inside the product

Part one of the assessment: two statements, each answered on a slider running from five through zero to five, with the interpretation of the current position shown underneath.
Each statement is a slider, and the position itself carries the intensity. The centre is a real answer rather than a skipped one, and the platform says so.
Open full size ↗
A screen headed "We think you're…" showing the type ISTP, with a required accuracy slider set to 82 per cent and a Confirm Accuracy button.
The platform proposes a type and then asks how well it fits. Nothing is finalised until the reader answers this.
Open full size ↗
Two personality profiles side by side, labelled primary ISTP and secondary INTP, each with core identity, overview, top strengths and challenge areas.
Rate the fit below the threshold and a second candidate appears next to the first — at full length, so the choice is made on the descriptions rather than on the letters.
Open full size ↗
A screen titled "Select Your Verified Type" offering three choices — this is me, the other fits better, and neither feels right — with a final accuracy rating of 92 per cent.
The reader decides. "Neither feels right" is a real option, because a platform that only offers agreement is not verifying anything.
Open full size ↗
A team report section headed "Dominant Group: Traditionalists (SJ)", with panels for execution risks, team strengths, stretch areas and recommendations.
The team layer reads composition rather than individuals: what the dominant temperament does to the way the team works, and what to do about it.
Open full size ↗
Conflict flashpoints and meeting strategy sections of a team report, including a note to watch for friction if NT Conceptualizers join the team.
Output built for a session rather than a shelf. The note about Conceptualizers is a prediction about a hire that has not happened yet.
Open full size ↗
A hiring gap analysis showing four temperament groups; two are present, and two have zero members with the capabilities that are missing listed under each.
Absences stated as plainly as presences, with the capability that goes missing alongside each one.
Open full size ↗

How it ran

  1. // Phase one

    Assessment, reports, and the team layer

    About a month to first rollout: the questionnaire and its deterministic scoring, individual reports, team creation, and the pair-level guidance that made the thing worth building in the first place.

  2. // Phase two

    Refinement and the administrative layer

    Roughly six more weeks, shaped by real usage rather than a backlog written in advance. The administrative view was asked for once the client could see the platform being used, and the refinements came from watching real sessions rather than from a specification.

The stack

Scoring
Deterministic scoring across the four preference pairs, with intensity taken from the slider value itself. No model participates in deciding a type, which is what makes the result reproducible and defensible.
AI layer
GPT as the primary provider, with Gemini and Anthropic models as fallback. Used only to turn an already-decided result into readable narrative.
Application
A Rust and React monorepo over PostgreSQL, with the assessment, reporting, team and administrative surfaces sharing one codebase.
Infrastructure
Containerised and hosted on Google Cloud.

// Built with

Rust React PostgreSQL Google Cloud Docker

What it changed

A result the person agreed to

The accuracy check turns the type from something the platform asserts into something the user confirms, which is the difference between a report people argue with and one they use.

Guidance that names the other person

Advice is written for a pairing rather than an individual, so it survives contact with an actual working relationship instead of describing someone in isolation.

Something a facilitator can run a room on

Communication matrices, conflict flashpoints and meeting strategy are session material. They give a workshop something to do with the results in the hour after they appear.

A programme that can be administered

Usage, distribution and accuracy are visible centrally, and tagging keeps teams findable as the programme grows — without putting anyone’s report in front of an administrator.

The brief was not another personality test. It was to take something people normally read once and forget, and turn it into a layer teams keep coming back to — which meant being disciplined about where the AI was allowed to operate, and putting the interesting work into the pair and team levels rather than the questionnaire.

Questions

Does an AI decide someone’s personality type?

No, and deliberately so. The type comes from deterministic scoring of the slider answers, so the same responses always produce the same result. The AI writes the description and the guidance once the type is already settled. Letting a model classify people would make the output unreproducible and impossible to defend.

How do you keep guidance for 256 pairings from reading like horoscopes?

Curation, and it is the part of the build that took real judgement rather than real time. The pairings were drafted with AI and then reviewed by our team and the client’s together over a couple of days, cutting anything generic enough to apply to any pairing and fixing tone. Guidance that fits everyone is worse than none, because it teaches people to stop reading.

Who can see an individual’s results?

The person themselves, and their teammates see the confirmed type rather than the full report. Administrators get aggregate figures, team lists and confirmed types — never individual reports. Assessment results are sensitive personal information about identifiable colleagues, so the boundaries were drawn in the design rather than left to configuration.

Ready to scope your build?

Get a structured estimate in two business days.