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
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
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
Opening with our next cohort of pilot partners.
Talk to us about early accessPolicy 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
Opening with our next cohort of pilot partners.
Talk to us about early accessEmployer 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
Opening with our next cohort of pilot partners.
Talk to us about early accessArchitecture
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.
| Layer | Technology | What is pinned and why |
|---|---|---|
| Language | Spanish and Catalan language models | Bilingual signal extraction and vacancy parsing. Version-pinned, and the model version is recorded on every output. |
| Skill matching | FAISS vector index over the ESCO taxonomy | Semantic similarity across profiles and vacancies. The ESCO version is recorded per index build. |
| Geospatial | PostGIS with OpenStreetMap, Catalan cadastral, and Idescat boundaries | Neighbourhood aggregation. The boundary version is pinned and recorded, because a redrawn boundary silently changes a series. |
| Simulation | Python Mesa, agent-based integration model | Parameters come from the reviewed method and are re-reviewed at each recalibration, not re-argued per client. |
| Pipeline | Apache Airflow, with connectors for INE, Idescat, SEPE, and Social Security open data | Daily ingestion, transformation, and quality validation, with a visible freshness indicator on every series. |
| Visualisation | React and TypeScript with D3 | Tokens imported from the design system. Every chart carries its source caption as a structural element. |
| Store | PostgreSQL with PostGIS, object storage for artefacts | Row-level tenant isolation, tested by an automated cross-tenant access suite on every build. |
| Cloud | AWS 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
| Module | Classification | What that means in practice |
|---|---|---|
| 01 Workforce Matching | High-risk obligations | 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. |
| 02 Social Observatory | Advisory decision-support | 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. |
| 03 Integration Intelligence | Advisory decision-support | Advisory decision-support at cohort level. No individual-level output, no automated decision. Classification versioned in the repository. |
| 04 Policy Simulator | Advisory decision-support | Simulation output is advisory decision-support and is labelled modelled everywhere it appears. Classification versioned in the repository. |
| 05 Employer Intelligence | Advisory decision-support | 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. |
Source: Humaniwork compliance repository, versioned per release, 2026
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.