Two exchange students sitting on a skate ramp at sunset.
Placements · matching & pipeline

Matching is a judgement,
not a score.

The engine ranks and shows its working. Every candidate arrives with its score broken into named dimensions, one sentence you can read aloud, and — if it is blocked — the reason it is blocked, still on the screen.

Two students walking a country road on their exchange year.
Weighted across
7
named dimensions, published
Blocked for
7
stated reasons — never hidden in a lower score
One commit writes
4
rows, in a single transaction

“Why 87?” is a button,
not a support ticket

Open any score and it breaks into the dimensions that produced it, each with its own points, its own ceiling and the detail behind it. Then it says the two things a number cannot:

Strongest signal: a son the same age who plays in the same league. Watch: both parents work late Tuesdays — and he told us he values shared dinners.

A recommendation with no caveat is one nobody can argue with, and this is a decision about where a fifteen-year-old sleeps.

3.08  The score opened and argued with. Weights are tunable per organisation — what matters to you is not what matters to the programme down the road.

Matching · Jonas Thaler
TH
The Hubers
Munich · 14 km · 1 open bed
87
fit score
Household fit24 / 26
Shared interests14 / 16
Open beds16 / 16
Commute to school12 / 14
Screening complete12 / 12
Languages at home6 / 10
Town size3 / 6
Watch: both parents work late Tuesdays — he told us he values shared dinners.
What actually feeds a match

Named fields, published weights

No black box and no “proprietary algorithm”. These are the dimensions for a host family, with the default weight each one carries. Your organisation can retune them.

DimensionWeightRead from Household fit26Pets, children, smoking, religion, diet, room sharing Shared interests16What the student wrote, against what the family does Open beds16Beds on the record, minus placements actually running Commute to school14Full marks at 15 minutes, 15% of them at 60 Screening complete12Background check on file, home visit on file Languages at home10Against the languages the student asked for Town size6Rural, town or city — as the student asked
The school step scores required subjects, subject wishes, languages, advanced track, sports and clubs, and open seats. The coordinator step scores town, region, country and caseload headroom. Capacity is only scored when a school states it — unknown is not the same as bad.
6 candidates
TH
The Hubers
Munich · 14 km
87
TM
The Müllers
Ingolstadt · 78 km
72
TB
The Bauers
Augsburg · 61 km
Blocked 41
Pet allergy. The household has a cat and Jonas is allergic. Still selectable — with a sentence.

A blocked family
stays on the screen

An allergy, a full school, a smoking household against a non-smoking student: these are not worse matches, they are wrong matches. So they are never quietly discounted into a lower score — they are marked blocked, with the reason, and they stay visible.

And you can still choose them. Staff who know something the database does not are the reason the override exists — on the record, with a sentence.

Seven blocking reasons for a family, each with its own stated sentence: pet allergy, a pet-free request, smoking household, no private room, a diet the family cannot cater for, no open bed, and a commute past the family’s own limit.

The override

Overruling the engine costs one auditable sentence

An exchange student in the mountains at dusk.

“That reason is the answer to “why this family?” a year later.”

Why the reason is required, in the words of the table that stores it.

Choosing anything other than the top suggestion requires a reason. Not as a UI nicety — the database refuses the write without one. Every committed step is stored with the score at the time and a frozen snapshot of the alternatives it beat.

One commit writes four things

The placement, the decision with its frozen alternatives, a timeline event, and an audit entry.

Everybody hears at once

The student, the host family and the coordinator are notified in the same transaction.

Overrides teach the model nothing automatically

They are a corpus a human reads before any weight changes.

The board

Seven stages, and ageing that says where the number came from

1

Applied

ages at 10d

The application exists and the student is an applicant.

2

Screened

21d

Accepted by the programme, not yet in matching.

3

Matching

14d

In the workspace. This is the column with a real work-in-progress limit.

4

Proposed

7d

A family is assigned and the offer is out.

5

Confirmed

60d

Everyone has said yes.

6

Travelling

Flights are booked; the student has not landed.

7

On programme

In country. Where the care work happens.

Drift signals

Flagged weeks before it becomes an incident

Computed from your rows, never illustrated

Seven detectors run over your own data. A sparkline whose numbers were typed by whoever built the screen is worse than no sparkline — it teaches you to trust a shape that means nothing.

Three answers, including “dormant”

A signal, a clear, or dormant — the honest third state, where the detector says which data it needs, that you are not recording it, and draws nothing.

Thresholds from your own median

“Students nobody has spoken to in a while” uses your organisation’s own median gap, not a number from a manual written for somebody else.

Every signal names the pattern in one line a person would say aloud, shows the window it looked at and the exact rows behind it, and offers one move. It is class C0 — a notice. It never acts and never mails anybody. It closes itself when the trend reverses, because the signals are recomputed on every read.

Incidents

A record with an owner — never a chat thread that fades

CategoryOwnerEscalation Harm or abuseSafeguarding leadAlways — forced in the database SafetyOn-callAlways MedicalOn-callAlways Placement breakdownCoordinatorAlways HomesicknessCoordinatorIf repeated AcademicSchool contactNo
Abuse and anything marked critical escalate in the database, not in the browser — no setting on any page can turn that off. An escalated record cannot be closed by the person who filed it, and a resolution under twelve characters is refused: a record closed with an empty resolution answers nothing a year later.

Put one real intake through it

Placement & Care and Network include 30 days beside your current process. Access does not include placement operations.

Choose a plan See what it costs →