Skip to main content
BVDNET
Arnhem · websites & automationBVDNET
← moodboard
Curriculum Vitae

Berend van Dijk,
Who does the building.

Full-stack Developer · Platform & AI Automation

Arnhem, NL · berend@bvdnet.nl

Profile

I build websites, shops and automations for businesses that want something to simply work. Before that I worked on other things: music production, CNC machines, broken Apple devices. I started programming in mid-2025; two months later the first client sites were live.

After that I learned the technology behind it: hosting, automatic updates and monitoring that warns when something goes wrong. So I build not just the site you see, but also what keeps it running.

I work daily with AI agents that write code. I decide what goes in and check what comes out. What works gets written down, so the next project goes faster. And what I deliver you can manage yourself, even when I am no longer involved.

What you can count on
Sees how things fit togetherBuilds the site as one whole, not as loose pagesWorks out what is not yet clearDelivers in weeks, not quartersThinks along about what it should returnYou keep the access and the controlFinishes down to the detailsBuilt things outside software before this
Projects

Products

FinancieelSlimleven.nl

financieelslimleven.nl

Financial coaching & mortgage-advice platform · client project · €0/month infra

Next.js App Router + Sanity CMS. Fully overhauled since the first version: a new mortgage-advice section, a live public-data pipeline and a custom design system.

Frontend
Next.js 16React 19TypeScript
Backend
Sanity CMS
Data
Upstash Redis
Cloud
Vercel
Integrations
Resend@react-pdf
  • Programmatic local-SEO engine: a single dynamic route powering ~20 location and 8 life-situation pages, with a code-vs-CMS split and anti-thin-content gating.
  • Fail-soft data pipeline: live CBS figures, the NHG cost ceiling and a build-time energy-label aggregate (EP-Online, 220MB register via PDOK) — every source fails safely to null.
  • Custom 'Wave' design system (procedural SVG waves + Tailwind-v4 token layer, dark mode) and a self-built signed CRM/booking integration that replaced Cal.com + Attio.
  • Dual-channel server-side conversion tracking (Google Ads Data Manager Enhanced Conversions + Meta CAPI).

MaviCats.com

mavicats.com

Full-stack community platform · Sony Mavica retro photography · personal project

A complete social platform from scratch: Next.js frontend + Python/FastAPI backend, fully on Cloudflare's edge, with a forensic ML pipeline and an 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 forensic camera identification: source-camera matching via wavelet sensor-pattern-noise (CDF 9/7 residuals + NCC), pgvector-backed.
  • FastAPI backend on Cloudflare Containers (Durable-Object container classes, EU-pinned alongside Neon); frontend on Workers via OpenNext.
  • AI moderation on Workers AI (ResNet NSFW, Llama 3.1 toxicity, DETR object detection) with a per-user AI budget.
  • 37 Alembic migrations · 698 commits / PRs up to #358 in 3 months · gated staging with per-PR ephemeral Neon branches.

BVDART.nl

bvdart.nl

Webshop & portfolio for generative art · personal project · retro skeuomorphic

Next.js + Sanity + Stripe. Sells signed giclée prints of code-generated art, with an interactive 'Lab' of creative tools and an educational hub.

Frontend
Next.js 16React 19TypeScriptThree.js + Mafs
Backend
Sanity CMS
Cloud
Vercel
Integrations
StripeResendAttio CRM@react-pdf
  • Interactive 'Lab': 10+ generative/algorithmic art tools in the browser (Three.js / Mafs).
  • Copy-protected content (visible + invisible watermark); print fulfilment via the Werk aan de Muur API.
  • Operated as a product in the BVDART Ops fleet: content agent with a two-key publish gate and a bws→Vercel secret plane.

BVDNET.nl

bvdnet.nl

IT/web-dev company site · personal project · bilingual NL/EN

Next.js + Sanity, bilingual. A separate agentic research pipeline feeds a weekly 'AI Intel' content model (blog + AI dictionary).

Frontend
Next.js 16React 19TypeScriptnext-intl
Backend
Sanity CMS
Data
Upstash Redis
Cloud
Vercel
Integrations
Resend
  • In-CMS AI translation via Sanity Agent Actions across ~28 document types.
  • 'AI Intel' architecture with source provenance (RSS/Reddit/GitHub/arXiv → NotebookLM), fed by a separate agentic harness.
  • Editorial workflow (Draft → Review → Approved → Published) + feature-flag A/B experiments.

Platform & R&D

BVDART Ops

prototype · in development

Autonomous multi-agent platform that monitors and self-maintains production sites · personal R&D

A maintenance system that runs on its own: measures goals → detects deviations → dispatches AI coding agents → reviews and merges their pull requests. The entire system is configuration: 62 measurable SLOs across 18 domains, a fleet of 10 specialized agents, and a formal governance model. A working prototype, currently inactive and under further development.

Backend
Node.js (ESM)TypeScriptHono
Data
BigQuery
Cloud
Cloud RunTerraformWIF
AI
Google ADKGemini 2.5
  • 10-agent fleet (dispatcher → coder → merger → 7 specialists), coordinated via shared Git state, GitHub labels and a project board — no direct agent-to-agent messaging.
  • Governance & safety: fleet-wide kill switch, staged autonomy (shadow→review→active), two-key merge gate, prompt-injection guards and dispatch budgets — captured in 49 ADRs.
  • Config-as-truth: behaviour lives in versioned, diff-able TOML + prompt fragments, rendered and snapshot-tested in CI so every behavioural change is a reviewable PR diff.
  • Read-only React/Vite ops console (30+ views) behind Google IAP; keyless CI/CD to Cloud Run via Workload Identity Federation.

BVDART Health

live in productionhealth.bvdart.nl

Observability & data platform that brings together data from all my projects · personal project

11 collectors pull metrics from 12+ sources (Search Console, GA4, Lighthouse, Sentry, GitHub, Google Ads, eBay/Amazon, Sanity, Neon, Cloudflare, Vercel) into a BigQuery warehouse. A Next.js command center visualises everything; a Gemini data agent answers questions in natural language.

Frontend
Next.js 16TypeScript
Data
BigQueryCloud SQL
Cloud
Cloud Run JobsTerraformIAP
AI
Gemini Conversational Analytics
  • BigQuery warehouse: day-partitioned, clustered, idempotent MERGE upserts; append-only data separated from mutable state in Cloud SQL, with a single zod→BigQuery schema as the source of truth.
  • Natural-language querying via Google's Gemini Conversational Analytics API (NL → SQL → BigQuery), with a custom two-layer scope guard that refuses cross-project leaks.
  • 100% Infrastructure-as-Code: Terraform provisions BigQuery, 11 Cloud Run Jobs, Scheduler, a private Cloud SQL and an IAP + HTTPS load balancer.
  • Keyless CI/CD (GitHub → GCP via Workload Identity Federation); runs steadily for ~€15–20/month.

MaviCats Game

R&D · technical showcaseopen the CSS-3D gallery

Self-built first-person 3D engine + game in pure CSS 3D · zero 3D dependencies · personal R&D

A complete first-person 3D engine and game built in pure CSS 3D (preserve-3d, perspective, matrix3d) — no WebGL, no Three.js, not a single 3D library. It shows that a playable 3D world is possible with CSS alone; the walkable gallery on this site comes directly out of it.

Engine
CSS-3Dpreserve-3dmatrix3dPointer Lockraycasting
Stack
Next.js 16React 19TypeScript
Approach
zero-dep 3Dcompositor-bewustrequestAnimationFrame
  • Custom FPS engine: pointer-lock controls, momentum physics and platforming (slopes, moving platforms, conveyors, pits), with matrix3d projection that maps a flat plane exactly onto three world corners — all on a single requestAnimationFrame loop, compositor-aware.
  • Diegetic camera subsystems: a raycasting 'LCD feed' that renders the 3D scene low-res to canvas, plus inventory (floppy/battery/lens/flash), scoring, tiers and a bestiary — a complete game, not a tech demo.
  • World/level system with VRAM isolation (worlds stay mounted but inactive at display:none) and a custom VFD/industrial UI design system.
  • ~18,700 lines of TypeScript across 1087 commits, entirely without a 3D library. I use that CSS-3D knowledge in client projects too.
Skills & Tooling
Languages & 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 Codeautonomous multi-step tasks, agentic loops
  • GitHub Copilotagent mode across the entire codebase
  • PR-only workflowbranches, two-key merge gates, creds-free CI
  • MCPlive tooling: Sanity, Playwright, browser, custom servers
  • Context-engineeringslot templates, living docs, generative documentation
Developer Tooling
  • PromptKnighta deliberately 'over-engineered' architecture (Hexagonal + DDD + CQRS/event-sourcing) made workable through context engineering; agent-orchestration engine with four interfaces, productized as a Next.js SaaS.
  • agentsyncsyncs MCP servers, tool permissions, skills and global instructions across Claude Code, Gemini, Copilot and Codex from a single source.
  • skills-librarya custom Agent Skills library (78 skills) with progressive-disclosure loading and a Python deploy/validate CLI.
  • cc64-nodeagent orchestration in TypeScript via the native Claude/Copilot SDKs; 940 tests, strict SOLID.
Where I come from
  • Trainee CNC MachinistFijnmechanische Industrie Goorsenberg · Nijmegen2023 – 2024
  • Apple Repair TechnicianCoolblue · Arnhem2019 – 2022
  • Assistant Manager (trainee)ALDI Supermarkten · Arnhem2019
  • Power Service WizardMediaMarkt · Arnhem2017 – 2018
  • Door-to-door SalesNuon Sales Force · Arnhem2016
  • Hospitality & ServiceNederlands Openluchtmuseum · Arnhem2011 – 2013
Education
  • Communication & Multimedia DesignHAN Arnhem — CMD methods, DOT Framework, design principles2019 – 2021
  • Music Composition & ProductionHKU — recursion, abstraction layers, systems2013 – 2014
  • Atheneum — Economics & SocietyArentheem Thomas a Kempis2010 – 2013
  • GymnasiumStedelijk Gymnasium Arnhem2006 – 2010