How TrueSkills Works
Discover the methodology behind recognizing and validating invisible labor skills.
info
Overview
TrueSkills is an AI-powered profiling system that helps people discover and articulate the valuable skills they've developed through invisible labor — work that is often unpaid, unrecognized, and uncounted in traditional economic measures.
This includes caregiving, household management, subsistence farming, community volunteering, and informal work that keeps families and communities functioning.
rocket_launch Core Mission
- check_circle Recognize that unpaid work IS real work
- check_circle Translate everyday activities into professional skills
- check_circle Connect people to formal employment, certification, and opportunities
- check_circle Calculate the market value of invisible labor
science
Methodology
ICATUS Classification
TrueSkills uses the International Classification of Activities for Time-Use Statistics (ICATUS) developed by the United Nations to categorize human activities.
2 - Production for own use (farming, construction)
3 - Unpaid domestic services (cooking, cleaning, household management)
4 - Unpaid caregiving (childcare, eldercare)
9 - Unpaid community/volunteer work
ESCO Crosswalk
Each ICATUS activity is mapped to the European Skills, Competences, Qualifications and Occupations (ESCO) framework to translate informal work into recognized professional skills.
| ICATUS Activity | Derived Skills | ESCO Occupation |
|---|---|---|
| 311 - Preparing meals | Menu planning, nutrition, time management | 5120 - Cook |
| 411 - Childcare | Child supervision, behavior management | 5311 - Childcare Worker |
| 211 - Growing crops | Crop cultivation, pest management | 6111 - Subsistence Farmer |
Skills Inference Engine
The system uses deterministic mapping (not AI guessing) to infer skills from activities. When you report 20 hours/week of meal preparation, the system looks up the exact skills defined in our crosswalk database — ensuring accuracy and consistency.
timeline
The 5 Profiling Phases
Welcome Phase
Introduction, trust building, GDPR consent. The AI explains the process and creates a safe space for sharing.
Activities Phase
Discover what you DO — not what you're called. The AI guides you through activity categories: caregiving, household, production, community work.
Skills Phase
Transform activities into skills. Each activity maps to specific professional skills with proficiency ratings (1-5).
Context Phase
Understand HOW and WHY your work is invisible. Explore remuneration, recognition, barriers, and aspirations.
Profile Phase
Receive your complete profile with validated skills, proto-occupation matches, market value estimate, and actionable pathways.
architecture
Technical Architecture
┌─────────────────────────────────────────────────────────────┐
│ User Browser (UI) │
│ Neumorphic Interface • 5-Phase Stepper • Streaming Chat │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ FastAPI Backend (app.py) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │VLPDataLoader│ │SkillsInfer │ │ValidationLanguage │ │
│ │(JSON lookup)│ │Engine │ │Engine │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ │ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ChromaDB Vector Store (Supplementary RAG) ││
│ │ vlp_activities │ vlp_skills │ vlp_proto_occupations ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ OpenRouter API (LLM Provider) │
│ google/gemini-2.0-flash • Embeddings API │
└─────────────────────────────────────────────────────────────┘
Primary: Deterministic Lookup
Skills and occupations are mapped via direct JSON lookup — ensuring 100% accuracy. The AI can only cite skills that exist in our database.
Supplementary: RAG Retrieval
ChromaDB provides additional context from proto-occupation narratives during profile generation phases.
database
Data Sources
📊 VLP_ICATUS_Crosswalk.json
Maps 21 ICATUS activity codes to derived skills, ESCO categories, and proto-occupations.
21 activity entries • ~120 unique skills📋 VLP_Questionnaire.json
5-section questionnaire structure with activity categories, question templates, and scoring logic.
5 sections • 40+ questions🏷️ VLP_Metadata_Schema.json
Defines work context dimensions: remuneration types, recognition levels, learning pathways, barriers.
6 remuneration types • 3 recognition levels👤 Proto-Occupation Profiles (11 files)
Detailed markdown profiles for each proto-occupation with alternative job titles, ESCO crosswalks, and career pathways.
11 proto-occupations • Full narrative profiles
neurology
AI Knowledge Base
These are the files that power the Profiler AI — click any file to view its contents.
badge
Proto-Occupations
Proto-occupations are informal job profiles that recognize the real work people do outside formal employment. Each maps to formal ESCO occupations.
VLP-HM-001
Household Manager
Operations manager, budgeting, scheduling
VLP-CC-002
Community Caregiver
Childcare, eldercare, health support
VLP-SF-003
Subsistence Farmer
Crop cultivation, animal husbandry
VLP-DC-004
Digital Content Creator
Social media, content production
VLP-HN-005
Community Health Navigator
Health guidance, system navigation
VLP-CW-006
Informal Construction Worker
Building, repair, maintenance
VLP-FM-007
Family Financial Manager
Budgeting, financial planning
VLP-EC-008
Community Event Coordinator
Event planning, volunteer coordination
VLP-MT-009
Informal Market Trader
Sales, negotiation, inventory
VLP-GW-010
Platform Gig Worker
Delivery, rideshare, task services
VLP-RW-011
Waste Recycling Worker
Material sorting, environmental work
folder_open
Project Files
Key files in the project. Click to open in your file system.
Planning & Documentation
descriptionPLAN_VLP_Profiler.md
Original implementation plan with 26 tasks
VLP_Complete_Solution.md
Complete VLP methodology documentation
Data Files
data_objectVLP_ICATUS_Crosswalk.json
Activity to skills mapping database
VLP_Questionnaire.json
5-section questionnaire structure
Application Code
codeapp.py
Main FastAPI backend (~900 lines)
personas.yaml
AI persona and phase prompts
api
API Reference
GET /health
Health check with data loading stats
GET /session/new
Create a new profiling session
POST /chat
Main chat endpoint with streaming response
{messages, model, session_id, phase, provider}
POST /session/{id}/advance-phase
Progress to next profiling phase
GET /export/{session_id}
Export complete profile as JSON