Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
← moodboard
Curriculum Vitae

Berend van Dijk,
Wie er komt bouwen.

Full-stack Developer · Platform & AI-automatisering

Arnhem, NL · berend@bvdnet.nl

Profiel

Ik bouw websites, webshops en automatiseringen voor bedrijven die willen dat iets gewoon werkt. Daarvoor sleutelde ik aan andere dingen: muziekproductie, CNC-machines, kapotte Apple-toestellen. Medio 2025 begon ik met programmeren; twee maanden later stonden de eerste sites van klanten live.

Daarna leerde ik de techniek erachter: hosting, automatische updates en bewaking die waarschuwt als iets misgaat. Ik bouw dus niet alleen de site die je ziet, maar ook wat ervoor zorgt dat hij blijft draaien.

Ik werk dagelijks met AI-agents die code schrijven. Ik bepaal wat erin komt en controleer wat eruit komt. Wat werkt leg ik vast, zodat een volgend project sneller gaat. En wat ik oplever kun je zelf beheren, ook als ik er niet meer bij ben.

Waar je op kunt rekenen
Doorziet hoe iets in elkaar zitBouwt de site als één geheel, niet als losse pagina’sZoekt uit wat nog niet duidelijk isLevert in weken, niet in kwartalenDenkt mee over wat het moet opleverenJij houdt de toegang en het beheerWerkt af tot in de detailsBouwde eerder ook buiten software
Projecten

Producten

FinancieelSlimleven.nl

financieelslimleven.nl

Financieel coaching- & hypotheekadviesplatform · klantproject · €0/maand infra

Next.js App Router + Sanity CMS. Sinds de eerste versie volledig herzien: een nieuwe hypotheekadvies-sectie, een live publieke-databron-pijplijn en een eigen design system.

Frontend
Next.js 16React 19TypeScript
Backend
Sanity CMS
Data
Upstash Redis
Cloud
Vercel
Integraties
Resend@react-pdf
  • Programmatic local-SEO engine: één dynamische route die ~20 plaats- en 8 levenssituatie-pagina's voedt, met code-vs-CMS-splitsing en anti-thin-content gating.
  • Fail-soft datapijplijn: live CBS-cijfers, NHG-kostengrens en een build-time energielabel-aggregaat (EP-Online, 220MB-register via PDOK) — elke bron faalt veilig naar null.
  • Eigen 'Wave' design system (procedurele SVG-golven + Tailwind-v4 token-laag, dark mode) en een zelfgebouwde signed CRM/booking-integratie die Cal.com + Attio verving.
  • Dual-channel server-side conversietracking (Google Ads Data Manager Enhanced Conversions + Meta CAPI).

MaviCats.com

mavicats.com

Full-stack community platform · Sony Mavica retro-fotografie · eigen project

Compleet social platform from scratch: Next.js frontend + Python/FastAPI backend, volledig op Cloudflare's edge, met een forensische ML-pipeline en een eBay-affiliate marketplace.

Frontend
Next.js 16React 19TanStack Query 5Zustand 5
Backend
Python 3.12FastAPISQLAlchemy 2OAuth2
Data
Neon Postgrespgvector
Cloud
Cloudflare Workers/ContainersR2QueuesDurable Objects
AI
ONNX RuntimePyWaveletsWorkers AI
  • SPN forensische camera-identificatie: source-camera matching via wavelet sensor-pattern-noise (CDF 9/7-residuals + NCC), pgvector-backed.
  • FastAPI-backend op Cloudflare Containers (Durable-Object container-classes, EU-pinned bij Neon); frontend op Workers via OpenNext.
  • AI-moderatie op Workers AI (ResNet NSFW, Llama 3.1 toxicity, DETR object-detectie) met een per-user AI-budget.
  • 37 Alembic-migraties · 698 commits / PR's tot #358 in 3 maanden · gated staging met per-PR ephemeral Neon-branches.

BVDART.nl

bvdart.nl

Webshop & portfolio voor generatieve kunst · eigen project · retro skeuomorphic

Next.js + Sanity + Stripe. Verkoopt signed giclée-prints van code-gegenereerde kunst, met een interactieve 'Lab' van creatieve tools en een educatieve hub.

Frontend
Next.js 16React 19TypeScriptThree.js + Mafs
Backend
Sanity CMS
Cloud
Vercel
Integraties
StripeResendAttio CRM@react-pdf
  • Interactieve 'Lab': 10+ generatieve/algoritmische kunsttools in de browser (Three.js / Mafs).
  • Copy-protected content (zichtbaar + onzichtbaar watermerk); print-fulfilment via de Werk aan de Muur API.
  • Beheerd als product in het BVDART Ops-fleet: content-agent met two-key publish-gate en bws→Vercel secret-plane.

BVDNET.nl

bvdnet.nl

IT/webdev bedrijfssite · eigen project · tweetalig NL/EN

Next.js + Sanity, tweetalig. Een aparte agentic research-pijplijn voedt wekelijks een 'AI Intel'-contentmodel (blog + AI-woordenboek).

Frontend
Next.js 16React 19TypeScriptnext-intl
Backend
Sanity CMS
Data
Upstash Redis
Cloud
Vercel
Integraties
Resend
  • In-CMS AI-vertaling via Sanity Agent Actions over ~28 documenttypes.
  • 'AI Intel'-architectuur met bron-provenance (RSS/Reddit/GitHub/arXiv → NotebookLM), gevoed door een aparte agentic harness.
  • Editorial workflow (Draft → Review → Approved → Published) + feature-flag A/B-experimenten.

Platform & R&D

BVDART Ops

prototype · in ontwikkeling

Autonoom multi-agent platform dat productiesites bewaakt en zelf onderhoudt · eigen R&D

Een onderhoudssysteem dat zelfstandig draait: meet doelen → detecteert afwijkingen → zet AI-coding-agents in → reviewt en merget hun pull requests. Het hele systeem is configuratie: 62 meetbare SLO's over 18 domeinen, een fleet van 10 gespecialiseerde agents, en een formeel governance-model. Werkend prototype, momenteel non-actief en in doorontwikkeling.

Backend
Node.js (ESM)TypeScriptHono
Data
BigQuery
Cloud
Cloud RunTerraformWIF
AI
Google ADKGemini 2.5
  • 10-agent fleet (dispatcher → coder → merger → 7 specialisten), gecoördineerd via gedeelde Git-state, GitHub-labels en een project-board — geen directe agent-to-agent messaging.
  • Governance & veiligheid: fleet-brede kill-switch, gefaseerde autonomie (shadow→review→active), two-key merge-gate, prompt-injection guards en dispatch-budgets — vastgelegd in 49 ADR's.
  • Config-as-truth: gedrag in versioned, diff-bare TOML + prompt-fragmenten, in CI gerenderd en snapshot-getest zodat elke gedragswijziging een reviewbare PR-diff is.
  • Read-only React/Vite ops-console (30+ views) achter Google IAP; keyless CI/CD naar Cloud Run via Workload Identity Federation.

BVDART Health

live in productiehealth.bvdart.nl

Observability- & data-platform dat data van al mijn projecten samenbrengt · eigen project

11 collectors trekken metrics uit 12+ bronnen (Search Console, GA4, Lighthouse, Sentry, GitHub, Google Ads, eBay/Amazon, Sanity, Neon, Cloudflare, Vercel) naar een BigQuery-warehouse. Een Next.js command-center visualiseert alles; een Gemini-data-agent beantwoordt vragen in natuurlijke taal.

Frontend
Next.js 16TypeScript
Data
BigQueryCloud SQL
Cloud
Cloud Run JobsTerraformIAP
AI
Gemini Conversational Analytics
  • BigQuery-warehouse: day-partitioned, clustered, idempotente MERGE-upserts; append-only data gescheiden van mutabele state in Cloud SQL, met één zod→BigQuery-schema als single source of truth.
  • Natuurlijke-taal-query via Google's Gemini Conversational Analytics API (NL → SQL → BigQuery), met een eigen two-layer scope-guard die cross-project-leaks weigert.
  • 100% Infrastructure-as-Code: Terraform provisioneert BigQuery, 11 Cloud Run Jobs, Scheduler, private Cloud SQL en een IAP + HTTPS load balancer.
  • Keyless CI/CD (GitHub → GCP via Workload Identity Federation); draait stabiel voor ~€15–20/maand.

MaviCats Game

R&D · technische showcaseopen de CSS-3D-galerie

Zelfgebouwde first-person 3D-engine + game in puur CSS-3D · nul 3D-dependencies · eigen R&D

Een complete first-person 3D-engine én game gebouwd in puur CSS-3D (preserve-3d, perspective, matrix3d) — geen WebGL, geen Three.js, geen enkele 3D-library. Het laat zien dat een speelbare 3D-wereld kan met alleen CSS; de doorloopbare galerie op deze site komt er rechtstreeks uit voort.

Engine
CSS-3Dpreserve-3dmatrix3dPointer Lockraycasting
Stack
Next.js 16React 19TypeScript
Aanpak
zero-dep 3Dcompositor-bewustrequestAnimationFrame
  • Eigen FPS-engine: pointer-lock-besturing, momentum-physics en platforming (hellingen, bewegende platforms, lopende banden, putten), met matrix3d-projectie die een plat vlak exact op drie wereldhoeken legt — alles op één requestAnimationFrame-lus, compositor-bewust.
  • Diegetische camera-subsystemen: een raycasting-'LCD-feed' die de 3D-scene low-res naar canvas rendert, plus inventory (floppy/batterij/lens/flits), scoring, tiers en een bestiarium — een compleet spel, geen tech-demo.
  • Wereld-/level-systeem met VRAM-isolatie (werelden blijven gemount maar inactief op display:none) en een eigen VFD/industrieel UI-designsysteem.
  • ~18.700 regels TypeScript over 1087 commits, volledig zonder 3D-library. Die CSS-3D-kennis gebruik ik ook in klantprojecten.
Skills & Tooling
Talen & Frameworks
TypeScriptPythonSQLBashNext.jsReactTailwindFastAPISQLAlchemyHonoThree.jsCSS-3D
Data
BigQueryPostgreSQLNeonRedispgvector
Cloud & Platform
Google CloudCloud RunCloud SQLIAPCloudflareWorkersContainersR2Vercel
DevOps & IaC
DockerTerraformGitHub ActionsGitOpsWIFbws
AI & Agents
Google ADKGeminiClaudeMCPConversational AnalyticsContext-engineering
Tooling
GitBiomeVitestPlaywrightSentry
Agentic Development
  • Claude Codeautonome multi-step taken, agentic loops
  • GitHub Copilotagent mode over de volledige codebase
  • PR-only workflowbranches, two-key merge-gates, creds-free CI
  • MCPlive tooling: Sanity, Playwright, browser, eigen servers
  • Context-engineeringslot-templates, living docs, generatieve documentatie
Developer Tooling
  • PromptKnighteen bewust 'overdreven' architectuur (Hexagonal + DDD + CQRS/event-sourcing) werkbaar gemaakt via context-engineering; agent-orchestration engine met vier interfaces, geproductiseerd als Next.js SaaS.
  • agentsyncsynct MCP-servers, tool-permissies, skills en globale instructies over Claude Code, Gemini, Copilot en Codex vanuit één bron.
  • skills-libraryeigen Agent-Skills-library (78 skills) met progressive-disclosure loading en een Python deploy/validate-CLI.
  • cc64-nodeagent-orchestration in TypeScript via de native Claude/Copilot SDK's; 940 tests, strikte SOLID.
Waar ik vandaan kom
  • Leerling CNC VerspanerFijnmechanische Industrie Goorsenberg · Nijmegen2023 – 2024
  • Apple ReparateurCoolblue · Arnhem2019 – 2022
  • Assistent Manager i.o.ALDI Supermarkten · Arnhem2019
  • Power Service WizardMediaMarkt · Arnhem2017 – 2018
  • D2D SalesNuon Sales Force · Arnhem2016
  • Bediening & HospitalityNederlands Openluchtmuseum · Arnhem2011 – 2013
Opleiding
  • Communication & Multimedia DesignHAN Arnhem — CMD methods, DOT Framework, ontwerpprincipes2019 – 2021
  • Muziek Compositie & ProductieHKU — recursie, abstractielagen, systemen2013 – 2014
  • Atheneum — Economie & MaatschappijArentheem Thomas a Kempis2010 – 2013
  • GymnasiumStedelijk Gymnasium Arnhem2006 – 2010