# Plan van Aanpak — HSEQ Intelligence Dashboard **Versie**: 1.0 **Datum**: 3 april 2026 **Auteur**: Kas (Director of Operations) **Opdrachtgever**: Jorick (JVG Consultancy) **Status**: GOEDGEKEURD TER INVOERING --- ## 1. Visie & Doelstelling ### 1.1 Visie **"Advies met een druk op de knop"** — een AI-gedreven HSEQ Intelligence Dashboard dat een HSEQ Manager bij BRZO-bedrijven (chemie, petrochemie, offshore, opslag) volledig ondersteunt bij compliance, risicobeheersing, training en advisering. Het niveau van Arcadis/DNV, maar dan 24/7 beschikbaar, sneller en tegen een fractie van de kosten. ### 1.2 Kernpropositie | JVG Consultancy | Traditionele Consultancy | |-----------------|--------------------------| | Kas + 30 AI-specialisten | Team van consultants | | Minuten levertijd | Weken levertijd | | € vaste kosten | €150-250/uur | | 24/7 beschikbaar | Kantooruren | | Real-time wetgeving updates | Periodiek advies | | Gestructureerde kennisbank + AI | Kennis in hoofden | ### 1.3 Doelgroep **HSEQ Managers bij BRZO-bedrijven** in de zware industrie: - Chemische industrie (Seveso III inrichtingen) - Petrochemie & raffinaderijen - Offshore (olie & gas) - Opslag & distributie van gevaarlijke stoffen - Tankterminals & pijpleidingnetwerken ### 1.4 Wettelijk Kader (Focus) - Seveso III richtlijn (2012/18/EU) - BRZO 2015 (Besluit risico's zware ongevallen) - ARIE (Algemene Richtlijn Industriële Veiligheid) - PGS-richtlijnen (Publieke Gezondheid & Stoffen) - MIR (Meldplicht Incidenten Gevaarlijke Stoffen) - Arbowetgeving & Arbobesluit - Omgevingswet (per 1-1-2024) - REACH/CLP (ECHA) --- ## 2. Architectuur — 4 Pilaren ``` ┌─────────────────────────────────────────────────────────────┐ │ HSEQ INTELLIGENCE DASHBOARD │ │ │ │ PILAAR 1 PILAAR 2 PILAAR 3 │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │KENNIS- │ │ SCRAPER │ │ HSEQ CHAT/AI │ │ │ │BANK │────▶│ ENGINE │────▶│ (RAG-powered) │ │ │ │103 docs │ │ 25 bron- │ │ Vragen stellen │ │ │ │ FTS5 │ │ nen auto │ │ over content │ │ │ └──────────┘ └──────────┘ └────────┬─────────┘ │ │ │ │ │ PILAAR 4 │ │ │ ┌─────────────────────────▼────────┐ │ │ │ KAS + HSEQ SPECIALIST AGENTS │ │ │ │ ┌─────┐ ┌──────┐ ┌───────────┐ │ │ │ │ │HSEQ │ │Compl.│ │Training │ │ │ │ │ │Spec.│ │Audit.│ │Generator │ │ │ │ │ └─────┘ └──────┘ └───────────┘ │ │ │ │ ┌─────┐ ┌──────┐ ┌───────────┐ │ │ │ │ │Risk │ │QA │ │Tech. │ │ │ │ │ │Mgmt.│ │Eng. │ │Writer │ │ │ │ │ └─────┘ └──────┘ └───────────┘ │ │ │ └───────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ### Pilaar 1 — Kennisbank (✅ LIVE) Centrale opslag voor HSEQ-documenten met full-text search. Nu 103 documenten, schaalbaar naar 1.000+. ### Pilaar 2 — Scraper Engine (Fase 2) Automatisch scrapen van 25+ externe bronnen (KOOP, Rijksoverheid, SZW, ECHA, PGS, RIVM, etc.). Delta-updates, categorisering en indexering. ### Pilaar 3 — HSEQ Chat / AI (Fase 3) RAG-powered chatinterface waarmee een HSEQ Manager vragen kan stellen over de kennisbank. Vergelijkbaar met de Lions governance chat maar dan HSEQ-specifiek. ### Pilaar 4 — Specialist Agents (Fase 4) Kas + sub-agents voeren complexe HSEQ-taken uit: RI&E's, TRA's, trainingen, compliance checks, audit prep, risicoanalyses. --- ## 3. Huidige Staat (Nulmeting) ### 3.1 Wat is er NU | Component | Status | Details | |-----------|--------|---------| | Flask webapp | ✅ Live | Poort 5052, PM2, nginx proxy | | Kennisbank UI | ✅ Corporate | Shell/Arcadis niveau design | | FTS5 search | ✅ Werkend | 103 docs, full-text search | | Document viewer | ✅ Werkend | Per-document detailpagina | | Categorieën | ✅ Werkend | 15 categorieën, filterbaar | | Nginx routing | ✅ Werkend | `/hseq-dashboard/` proxy | | Cloudflare cache | ✅ Geconfigureerd | Purge API beschikbaar | ### 3.2 Wat ontbreekt | Component | Prioriteit | Complexiteit | |-----------|-----------|-------------| | HSEQ Chat (RAG) | Kritiek | Middel | | Scraper engine | Hoog | Hoog | | Document upload | Hoog | Laag | | Compliance dashboard | Hoog | Middel | | Agent integratie | Middel | Hoog | | Training generator koppeling | Middel | Middel | | Gebruikersauthenticatie | Laag | Middel | | Multi-tenant (meerdere bedrijven) | Laag | Hoog | ### 3.3 Infrastructuur - **VPS**: Hostinger, 7.8GB RAM, 96GB disk (50GB vrij) - **PM2**: `hseq-kennisbank` (id 8), poort 5052 - **URL**: `https://mescalinerabbit.shop/hseq-dashboard/` - **AI API**: OpenRouter (beschikbaar via `OPENROUTER_API_KEY`) - **DB**: SQLite FTS5 (`hseq_kennisbank.db`) ### 3.4 Beschikbare Agents | Agent | Rol | Relevantie | |-------|-----|-----------| | `hseq_specialist` | HSEQ Specialist | Kernagent voor chat + vragen | | `compliance_auditor` | Compliance Auditor | Compliance checks | | `environmental_compliance_manager` | Environmental Compliance | Milieu & BRZO | | `qa_engineer` | QA Engineer | Kwaliteitscontrole deliverables | | `technical_writer` | Technical Writer | Procedures & documentatie | | `plaud_specialist` | Audio Analyse | Meeting transcripties | | `presentation_specialist` | Document Generator | Training materialen | --- ## 4. Faseoverzicht | Fase | Naam | Duur | Oplevering | Investering | |------|------|------|-----------|-------------| | **0** | Foundation | ✅ Afgerond | Kennisbank + Search | ~4 uur | | **1** | HSEQ Chat & Upload | 2-3 weken | AI chat + PDF upload | ~16 uur | | **2** | Scraper Engine | 3-4 weken | Auto-updates 25 bronnen | ~24 uur | | **3** | Compliance Tools | 2-3 weken | Dashboard + checks | ~20 uur | | **4** | Agent Integration | 3-4 weken | RI&E, TRA, training | ~24 uur | | **5** | Professionalisatie | 2-3 weken | Auth, multi-tenant, polish | ~16 uur | **Totale inschatting**: ~104 uur verdeeld over 3-4 maanden (stapsgewijs, naast lopend werk). --- ## 5. Fase 1 — HSEQ Chat & Document Upload (2-3 weken) ### 5.1 Doel Een HSEQ Manager kan: (a) PDF's uploaden naar de kennisbank, (b) vragen stellen over de content via een AI-chat, (c) bronverwijzingen zien in de antwoorden. ### 5.2 Deliverables #### 5.2.1 Document Upload Module - **Upload pagina**: Drag & drop of file picker voor PDF's - **Auto-indexering**: Na upload → PyMuPDF extractie → FTS5 indexering - **Categorisatie**: Auto-classificatie op basis van filename/content - **Metadata**: Titel, auteur, datum, categorie, tags (bewerkbaar) - **Bulk upload**: Meerdere PDF's tegelijk - **Status feedback**: Voortgangsbalk + resultaat (succes/fouten) #### 5.2.2 HSEQ Chat Module (RAG-powered) - **Chat UI**: Floating chat bubble (zoals Lions governance chat) - **System prompt**: HSEQ Specialist persona, BRZO/Seveso focus - **RAG pipeline**: 1. Gebruiker stelt vraag 2. Vraag → FTS5 search → top 5 relevante documenten 3. Relevante chunks → AI context (system prompt) 4. AI genereert antwoord met bronverwijzingen - **Bronverwijzingen**: Elke AI-antwort bevat links naar brondocumenten - **Conversatiegeschiedenis**: Sessie-gebaseerd, laatste 10 berichten als context - **Categorie-context**: Gebruiker kan filteren op categorie (wetgeving, procedures, etc.) #### 5.2.3 Kennisbank Uitbreiding - **Meer documenten**: Minimaal 200+ documenten geïndexeerd - **Betere categorisatie**: Uitbreiden met BRZO-specifieke categorieën - **Chunk quality**: Verbeterde chunking (semantic boundaries, niet alleen character-based) ### 5.3 Technisch Ontwerp ``` Upload Flow: PDF → Drag/Drop → app.py /api/upload → indexer.py → FTS5 → Database ↓ Response: OK/ERROR Chat Flow: Vraag → /api/chat/hseq → search_documents(query) → top 5 chunks ↓ System prompt + context + history ↓ OpenRouter API (GLM-5) → Antwoord + bronnen ↓ Response → UI ``` ### 5.4 Referentie De Lions governance chat (`/api/chat/governance` in lions-gcc) dient als blauwdruk: - Zelfde architectuur: system prompt + RAG context + conversation history - Zelfde UI: floating chat bubble met message bubbles - Aanpassing: HSEQ system prompt, FTS5 i.p.v. knowledge_base search, bronverwijzingen ### 5.5 Tijdsinschatting | Taak | Uren | Afhankelijkheden | |------|------|-----------------| | Upload module (backend) | 3 | Geen | | Upload module (frontend) | 2 | Backend | | Chat module (backend RAG) | 4 | Geen | | Chat module (frontend UI) | 3 | Backend | | HSEQ system prompt tuning | 2 | Chat backend | | Kennisbank uitbreiding (200+ docs) | 2 | Upload module | | Testing & bugfixing | 2 | Alles | **Totaal Fase 1**: ~18 uur --- ## 6. Fase 2 — Scraper Engine (3-4 weken) ### 6.1 Doel 25+ externe bronnen worden automatisch gescraped. Nieuwe wetgeving, richtlijnen en updates verschijnen dagelijks/weekelijks in de kennisbank. ### 6.2 Bronnen (Geprioriteerd) #### Tier 1 — Kritiek (Dagelijks) | Bron | Type | Methode | |------|------|---------| | KOOP API (overheid.nl) | Wetten & Bekendmakingen | SRU API (XML/JSON) | | Wetten.nl | Wettelijke teksten | API | | Arboportaal | Arbo-informatie | Web/API | | Inspectie SZW | Handhaving | Web scraping | | ILT (Inspectie Leefomgeving) | Toezicht | API + scraping | | SodM (Staatstoezicht Mijnen) | Mijnbouw | Web scraping | #### Tier 2 — Hoog (Dagelijks/Weekelijks) | Bron | Type | Methode | |------|------|---------| | Rijksoverheid Documenten | Overheidspublicaties | RSS feeds | | IPLO (Omgevingswet) | Vergunningen | API | | RIVM BRZO | BRZO rapportages | CSV/Excel | | PGS Richtlijnen | Gevaarlijke stoffen | PDF downloads | | ECHA REACH/CLP | Stoffenregistratie | CSV/Excel | | ArboUnie Kennisbank | Kennisinstantie | Web scraping | | NEN Normeringen | Normen | Web scraping | #### Tier 3 — Medium (Weekelijks/Maandelijks) | Bron | Type | Methode | |------|------|---------| | TNO Veiligheid | Onderzoek | Web | | EU-OSHA | Europese Arbo | Web | | NOGEPA / Element NL | Branche | Web | | Dutch Gas Association | Branche | Web | | SER | Sociaal-Economische Raad | Web | | RIVM ZZS-lijst | Zeer Zorgwekkende Stoffen | CSV | ### 6.3 Scraper Architectuur ```python # Core pipeline per bron class Scraper: def fetch() # Haal nieuwe content op def parse() # Parse naar gestructureerde data def deduplicate() # Check op duplicaten (hash/URL) def categorize() # Auto-classificatie def index() # Naar FTS5 kennisbank def alert() # Optioneel: push notificatie # Scheduler (cron / APScheduler) # - Dagelijks: Tier 1 bronnen (06:00, 12:00, 18:00) # - Weekelijks: Tier 2 bronnen (maandag 06:00) # - Maandelijks: Tier 3 bronnen (1e van de maand) ``` ### 6.4 Tijdsinschatting | Taak | Uren | |------|------| | Scraper framework (base classes, scheduler) | 6 | | Tier 1 scrapers (6 bronnen) | 8 | | Tier 2 scrapers (7 bronnen) | 6 | | Tier 3 scrapers (6 bronnen) | 4 | | Delta-update & deduplicatie | 3 | | Testing & monitoring | 3 | **Totaal Fase 2**: ~30 uur --- ## 7. Fase 3 — Compliance Tools & Dashboard (2-3 weken) ### 7.1 Doel Het dashboard biedt inzicht in compliance-status, met tools voor self-assessment en documentgeneratie. ### 7.2 Deliverables #### 7.2.1 Compliance Dashboard - **Overzicht**: Per wetgeving/regelement de compliance-status - **RAG-matrix**: Rood/Geel/Groen per categorie (BRZO, Seveso, Arbo, Milieu) - **Deadline tracker**: Komende deadlines voor inspecties, hercertificeringen, rapportages - **Veranderingen feed**: Recente wetgevingwijzigingen (uit scraper) #### 7.2.2 Quick-Scan Tools - **BRZO Quick Scan**: Checklist — is het bedrijf BRZO-compliant? - **Seveso Self-Assessment**: Classificatiecheck (boven/onder grenswaarden) - **Arbo Checklist**: Arbowetgeving compliance scan - **MIR Checklist**: Meldplicht check (welke incidenten melden?) #### 7.2.3 Document Generator - **RI&E Quick Start**: Template-based RI&E generator - **TRA Generator**: Taakrisicoanalyse op basis van kennisbank content - **Veiligheidsplan Template**: Company Emergency Plan template ### 7.3 Tijdsinschatting | Taak | Uren | |------|------| | Compliance dashboard UI | 6 | | BRZO/Seveso quick scan | 4 | | Arbo checklist | 3 | | Deadline tracker | 3 | | Document generators | 4 | **Totaal Fase 3**: ~20 uur --- ## 8. Fase 4 — Agent Integration (3-4 weken) ### 8.1 Doel Kas en de HSEQ sub-agents zijn rechtstreeks toegankelijk vanuit het dashboard. Een HSEQ Manager kan complexe taken delegeren aan AI-specialisten. ### 8.2 Deliverables #### 8.2.1 Agent Launchpad - **Agent selectie UI**: Kies de juiste specialist (HSEQ, Compliance, Risk, Training, QA, etc.) - **Task briefing**: Beschrijf de taak in natuurlijke taal - **Context injection**: Automatisch relevante kennisbank-documenten toevoegen - **Resultaat viewer**: Bekijk, download en bewaar agent-output #### 8.2.2 Workflow Templates | Workflow | Agent(s) | Input | Output | |----------|----------|-------|--------| | RI&E Opstellen | HSEQ Specialist + Risk Mgmt | Bedrijfsinfo + activiteiten | RI&E document (DOCX/PDF) | | TRA Maken | HSEQ Specialist + QA | Taakbeschrijving + locatie | TRA (DOCX) | | Training Prep | Training Gen. + Pres. Spec. | Onderwerp + doelgroep | PPTX + Quiz + Certificaat | | Compliance Check | Compliance Auditor | Bedrijfsprofiel | Rapport + aanbevelingen | | Audit Prep | QA + Compliance | Auditscope | Checklist + documentvoorbereiding | | Incident Analyse | HSEQ Specialist | Incidentbeschrijving | Analyse + verbetermaatregelen | #### 8.2.3 Chat → Agent Escalatie - Als de HSEQ Chat een complexe vraag detecteert → suggestie om door te schakelen naar specialist agent - Voorbeeld: "Wil je een volledige RI&E? Ik kan de HSEQ Specialist hiervoor starten." ### 8.3 Tijdsinschatting | Taak | Uren | |------|------| | Agent launchpad UI | 6 | | Task briefing + context injection | 5 | | 6 workflow templates | 6 | | Chat → agent escalation | 4 | | Resultaat viewer + history | 3 | **Totaal Fase 4**: ~24 uur --- ## 9. Fase 5 — Professionalisatie (2-3 weken) ### 9.1 Deliverables #### 9.1.1 Authenticatie & Autorisatie - Login met e-mail/wachtwoord - Rol-gebaseerd: Admin (Jorick), HSEQ Manager, Read-only - Per-bedrijf isolatie (multi-tenant) #### 9.1.2 Bedrijfsprofielen - Bedrijfsgegevens (Naam, SBI-code, BRZO-classificatie, activiteiten) - ARIE-inrichting profiel (gevaarlijke stoffen, hoeveelheden, opslag) - Documenten per bedrijf koppelen - Compliance status per bedrijf #### 9.1.3 Notificaties & Rapportages - E-mail notificaties bij wetgevingwijzigingen - Weekelijks compliance rapport - Deadline alerts (inspecties, hercertificeringen) - Export naar PDF/Excel #### 9.1.4 UI Polish - Responsive design (mobiel/tablet) - Donker modus - Dashboard customization (widgets verplaatsen) - Performance optimalisatie (caching, lazy loading) ### 9.2 Tijdsinschatting | Taak | Uren | |------|------| | Authenticatie systeem | 6 | | Bedrijfsprofielen | 4 | | Notificaties engine | 4 | | UI polish & responsive | 4 | | Performance & caching | 2 | **Totaal Fase 5**: ~20 uur --- ## 10. Risico's & Mitigatie | Risico | Impact | Waarschijnlijkheid | Mitigatie | |--------|--------|-------------------|-----------| | OpenRouter rate limits | Chat onbeschikbaar | Medium | Fallback naar ZAI API, queue system | | SQLite schaalbaarheid >1000 docs | Trage search | Laag | Migratie naar PostgreSQL als nodig | | Scrapers breken bij website wijzigingen | Missende updates | Hoog | Monitoring + alerting, robust parsing | | AI hallucinaties in chat | Foutief advies | Medium | Bronverwijzingen verplicht, disclaimer | | VPS resources bij zware workloads | Trage app | Laag | Monitoring, upgrade indien nodig | | Wetgeving is complex | Incomplete content | Medium | Focus op BRZO-kern, iteratief uitbreiden | --- ## 11. Succescriteria per Fase | Fase | Succescriterium | Meetbaar | |------|----------------|----------| | Fase 1 | Upload + Chat werkt end-to-end | 3 testvragen correct beantwoord met bron | | Fase 2 | Min. 10 bronnen actief scrapen | Dagelijkse delta-update succesvol | | Fase 3 | BRZO Quick Scan beschikbaar | Testbedrijf doorloopt scan succesvol | | Fase 4 | 3 workflows draaien via agents | RI&E gegenereerd uit dashboard | | Fase 5 | Eerste externe gebruiker kan inloggen | Demo-gebruiker volledige flow | --- ## 12. Volgende Stappen (Direct Actie) ### Wat we NU kunnen starten (Fase 1.1): 1. **Document Upload Module** — Backend + frontend (3+2 uur) 2. **HSEQ Chat Backend** — RAG pipeline met FTS5 + OpenRouter (4 uur) 3. **HSEQ Chat Frontend** — Floating bubble UI (3 uur) ### Voorwaarden voor start: - ✅ Kennisbank live (103 docs) - ✅ FTS5 search werkend - ✅ OpenRouter API key beschikbaar - ✅ Lions chat als referentie-architectuur - ✅ VPS resources beschikbaar (6GB+ RAM vrij, 50GB disk vrij) --- ## 13. Business Case ### 13.1 Investering | Fase | Uren | Geschatte waarde | |------|------|-----------------| | Fase 0 (done) | 4 | €400 | | Fase 1 | 18 | €1.800 | | Fase 2 | 30 | €3.000 | | Fase 3 | 20 | €2.000 | | Fase 4 | 24 | €2.400 | | Fase 5 | 20 | €2.000 | | **Totaal** | **~116** | **~€11.600** | *Uren zijn Kas-uren (AI-assistent). Enige menselijke inzet: review, feedback, aanleveren documenten.* ### 13.2 Return on Investment - **Time savings**: HSEQ Manager bespaart 5-10 uur/week aan zoeken en documenteren - **Revenue**: Differentiator voor JVG Consultancy → hogere tarieven, meer cliënten - **Compliance**: Vermindert risico op boetes en overtredingen - **Scalability**: Eén platform dient meerdere cliënten (multi-tenant) --- ## 14. Beslispunten voor Jorick 1. **Start Fase 1?** — Chat + Upload als eerste prioriteit (Ja/Nee) 2. **AI provider keuze**: OpenRouter (GLM-5) als primary, ZAI API als fallback — akkoord? 3. **Scope Fase 2**: Alle 25 bronnen of eerst Tier 1 (6 kritieke)? 4. **Multi-tenant**: Nodig in Fase 5 of eerder prioriteren? 5. **Branding**: "HSEQ Intelligence Dashboard" of andere naam? --- **Document**: PVA-HSEQ-Intelligence-Dashboard_v1.0.md **Locatie**: `/root/projects/jg/HSEQ-Intelligence-Monitor/PVA-HSEQ-Intelligence-Dashboard_v1.0.md` **Versiebeheer**: Semantic versioning, updates in `/logs/changelog.md`