Gen-AI–enabled National Labour Market Demand & Vacancy Intelligence Platform for Sri Lanka. Built for TVEC (Tertiary and Vocational Education Commission) under the Ministry of Education. This is a donation-based project by Lanka Data Foundation — no commercial compensation.
- AI agent periodically collects vacancy signals from job portals, employer sites, recruitment agencies, newspapers, overseas sources
- Gen-AI extracts structured fields from unstructured postings and classifies into standard dimensions
- De-duplication, PII redaction, confidence scoring, quality checks
- Analytics-ready database with dashboards, forecasting, and alerts
- Managed via an agent management platform for lifecycle operations
skillstream/
├── CLAUDE.md # This file
├── pilot/poc/ # Presentation-ready POC (Next.js)
│ ├── src/app/ # Pages: dashboard, vacancies, skills, regions, forecasting, agents, settings
│ ├── src/components/ # Layout (Sidebar, Header)
│ ├── src/data/dummy.ts # All dummy data (Sri Lanka-specific)
│ ├── package.json # Port 3008 for dev/start
│ └── next.config.mjs # Static export for GitHub Pages
├── .github/workflows/ # GitHub Pages deployment
└── .gitignore # Python + Node.js patterns
| Layer | Tech |
|---|---|
| Frontend | React.js + Next.js, Tailwind CSS, Apache ECharts / Recharts |
| Backend | FastAPI (Python) |
| Database | PostgreSQL + PostGIS + pgvector |
| AI/LLM | LangChain / LlamaIndex |
| Task Queue | Redis + Celery |
| IAM | Keycloak (RBAC, SSO, OIDC/SAML, MFA) |
| Infra | Docker, Docker Compose / Kubernetes, Terraform / Ansible, Nginx |
| APIs | REST + GraphQL (OpenAPI), exports: JSON/CSV/Parquet |
- Client: TVEC, Sri Lanka
- Hosting: Lanka Government Cloud (LGC) — all data resides in Sri Lanka
- Languages: Sinhala, Tamil, English (trilingual UI)
- Accessibility: WCAG 2.1 AA
- Security: TLS 1.3, AES-256, OWASP-aligned, SAST/DAST in CI/CD
- Privacy: PDPA (Personal Data Protection Act No. 9 of 2022) compliance, PII redaction, no jobseeker data
- Open Source: 100% open-source stack (MIT/Apache 2.0), zero proprietary lock-in
- IPR: All IP transfers to TVEC upon acceptance
- Warranty: Minimum 1 year post go-live
- SLAs: P1: 4hr workaround, P2: 1 business day, P3: 3 business days
Vacancies are classified into: sector/industry, region, occupation group (ISCO-08), skill clusters, contract type, seniority/experience band, salary band, work arrangement
Job portals (topjobs.lk, linkedin, xpress.jobs), employer career pages, recruitment agencies, SLBFE (overseas), newspaper scans, employer portal (direct feed)
- Local dev:
cd pilot/poc && npm run dev→ http://localhost:3008 - GitHub Pages: https://vibhatha.github.io/skillstream (auto-deploys from main)
- Build:
npm run build(static export)
main— stable, deploys to GitHub Pagesfeat-poc-v1— active development branch
- TypeScript strict mode
- Tailwind CSS for styling (custom design tokens in tailwind.config.ts)
- Recharts for data visualization
- All dummy data centralized in
src/data/dummy.ts - Pages use Next.js App Router (
src/app/)