Skip to content
Humaniwork

The platform

Five modules, one data spine.

Workforce platforms see the labour market and not the neighbourhood. Civic dashboards see the neighbourhood and not the labour market. Integration happens where the two meet, so that is where we built.

Two are available now. Three open with our next cohort of pilot partners.

Platform access comes with an engagement

01Workforce and labour marketAvailable now

Workforce Matching

Matching on a description of the whole person rather than on a title: competence against the European ESCO framework, every language they have, the shape of the career, and their own account of the work they want. The shortlist names nobody until a recruiter records an intent to hire.

What it sees

Candidate profiles and open vacancies, both resolved into the same ESCO competence space, in Spanish, Catalan, and the common origin-country languages of the cohort. On the shortlist it sees no name, photograph, birth date, nationality, address, or previous employer.

What you do with the output

A recruiter opens a ranked, anonymous shortlist and reads, per candidate, which competences matched, which are adjacent, and which are missing. Recording an intent to hire releases that candidate’s identity to them for that role, and both the intent and the decision are logged against their own identity.

  • Candidate profiles and CVs submitted to the employer, parsed at ingestion
  • The candidate’s own one-time profile: languages, career sequence, how they work with people, and what they want the work to be for
  • Vacancy text supplied by the employer
  • The ESCO taxonomy, version recorded per index build
  • Spanish and Catalan language models, version-pinned
Every match carries a confidence value. Below-threshold matches are shown as below-threshold in the interface and in every export. There is no setting that suppresses this.
Employment-related matching is treated under the high-risk obligations: risk management, data governance, logging, human oversight, transparency, and accuracy documentation. The classification and its reasoning are versioned in the repository and ship with every release.

02Civic and neighbourhoodAvailable now

Social Observatory

Neighbourhood-level early-warning intelligence. Monitors integration signals, cohesion risk indicators, and service demand shifts, and surfaces the change while there is still a window to respond.

What it sees

Aggregated signals at neighbourhood level: service demand shifts, cohesion risk indicators, and integration pathway movement, against pinned boundary definitions.

What you do with the output

A social services chief opens the alert feed on a Monday, sees which neighbourhoods moved, reads which indicators drove the change, and reallocates the week accordingly.

  • Municipal administrative data, anonymised at the ingestion boundary
  • INE, Idescat, SEPE, and Social Security open data
  • PostGIS with OpenStreetMap, Catalan cadastral, and Idescat boundaries, version-pinned
Indicators below the confidence threshold are excluded from the composite cohesion index and flagged in the report, not quietly dropped. The report says which ones and why.
Civic analysis is advisory decision-support for an institution. It produces no individual-level output and no automated decision. The classification and its reasoning are versioned in the repository.

03Evidence and reportingOpening soon

Integration Intelligence

Predictive analysis of where integration pathways stall and why, with the evidence formatted for ESF+, AMIF, and social-impact funder reporting.

What it sees

Where cohorts stop progressing along an integration pathway: language acquisition, credential recognition, employment entry, housing stability, and service take-up.

What you do with the output

A programme manager exports the funder report in the format the funder actually uses, with the method and the limitations included in the document rather than in a covering email.

  • Aggregated programme outcome data supplied by the client
  • Public labour market and demographic series
  • Observatory indicator series where a municipality has consented to the join
Projections are labelled modelled, with the assumptions stated in one line next to the figure.
Advisory decision-support at cohort level. No individual-level output, no automated decision. Classification versioned in the repository.

Opening with our next cohort of pilot partners.

Talk to us about early access

04Civic and neighbourhoodOpening soon

Policy Simulator

Agent-based simulation that lets a municipality model the effect of an integration policy decision before making it.

What it sees

A parameterised model of the municipality: cohorts, services, capacity, and the pathways between them.

What you do with the output

A director models two versions of a decision, reads the divergence, and takes both to the council with the assumptions written down.

  • Observatory indicator series for the same municipality
  • Service capacity data supplied by the municipality
  • Simulation parameters from the reviewed method, re-reviewed at each recalibration
Every simulation output is dashed in charts and captioned modelled. A simulation is never presented as a measurement.
Simulation output is advisory decision-support and is labelled modelled everywhere it appears. Classification versioned in the repository.

Opening with our next cohort of pilot partners.

Talk to us about early access

05Workforce and labour marketOpening soon

Employer Intelligence

Stability and attrition-risk profiles at cohort level, plus sector concentration analytics. Tells an employer where retention will break before it breaks.

What it sees

Cohort-level retention patterns across roles, sites, and sectors. Never an individual worker.

What you do with the output

An HR director sees which role and site combinations are heading for a retention break, and moves before the resignations arrive.

  • Aggregated employer workforce data, anonymised at ingestion
  • Sector series from Social Security and SEPE open data
Cohorts below the minimum cell size are suppressed at query time across every filter combination, including exports.
Cohort-level analytics with an aggregation floor applied at query time. It produces no individual-level risk score and cannot be filtered down to one. Classification versioned in the repository.

Opening with our next cohort of pilot partners.

Talk to us about early access

Architecture

The technology, and what is version-pinned.

Every layer that can silently change a number is pinned and recorded on the output. A model version, an ESCO release, and a boundary definition are all things that move a series without anything having happened in the world, and a platform that does not record them cannot tell you which kind of movement you are looking at.

Platform architecture by layer, with the technology used and what is version-pinned.
LayerTechnologyWhat is pinned and why
LanguageSpanish and Catalan language modelsBilingual signal extraction and vacancy parsing. Version-pinned, and the model version is recorded on every output.
Skill matchingFAISS vector index over the ESCO taxonomySemantic similarity across profiles and vacancies. The ESCO version is recorded per index build.
GeospatialPostGIS with OpenStreetMap, Catalan cadastral, and Idescat boundariesNeighbourhood aggregation. The boundary version is pinned and recorded, because a redrawn boundary silently changes a series.
SimulationPython Mesa, agent-based integration modelParameters come from the reviewed method and are re-reviewed at each recalibration, not re-argued per client.
PipelineApache Airflow, with connectors for INE, Idescat, SEPE, and Social Security open dataDaily ingestion, transformation, and quality validation, with a visible freshness indicator on every series.
VisualisationReact and TypeScript with D3Tokens imported from the design system. Every chart carries its source caption as a structural element.
StorePostgreSQL with PostGIS, object storage for artefactsRow-level tenant isolation, tested by an automated cross-tenant access suite on every build.
CloudAWS EU region, Paris (eu-west-3)Documented residency. No sub-processor outside the EU without a recorded decision.

Source: Humaniwork platform architecture record, 2026

Compliance

The classification is per module, and always was.

A single classification for the whole platform would be inaccurate, and a procurement panel notices. The table below is generated from the same record that ships with the release.

EU AI Act classification, per module

ModuleClassificationWhat that means in practice
01 Workforce MatchingHigh-risk obligationsEmployment-related matching is treated under the high-risk obligations: risk management, data governance, logging, human oversight, transparency, and accuracy documentation. The classification and its reasoning are versioned in the repository and ship with every release.
02 Social ObservatoryAdvisory decision-supportCivic analysis is advisory decision-support for an institution. It produces no individual-level output and no automated decision. The classification and its reasoning are versioned in the repository.
03 Integration IntelligenceAdvisory decision-supportAdvisory decision-support at cohort level. No individual-level output, no automated decision. Classification versioned in the repository.
04 Policy SimulatorAdvisory decision-supportSimulation output is advisory decision-support and is labelled modelled everywhere it appears. Classification versioned in the repository.
05 Employer IntelligenceAdvisory decision-supportCohort-level analytics with an aggregation floor applied at query time. It produces no individual-level risk score and cannot be filtered down to one. Classification versioned in the repository.

Source: Humaniwork compliance repository, versioned per release, 2026