Skip to main content

How I work with AI

Most of what I ship is written with agents, through what is increasingly called an AI-native SDLC. That changes what my job is, so here is the honest division of labour.

  • Analysis and planning

    I write the objective and the acceptance criteria it has to meet. An agent drafts the plan against them, and I review that plan before any code exists.

  • Implementation

    Agents write most of the code. The interesting question stopped being who typed it and became whether the constraints were right.

  • Independent review

    Reviewers start from a clean context, sometimes on a different model family, so they do not inherit the implementer's assumptions.

  • Executable evidence

    Tests and runtime checks decide whether something works. A confident summary from a model is not evidence.

  • Human decisions

    I approve plans, and anything irreversible stays mine: what gets published, and what gets privileged access to a live system.

  • Improving the system

    When something goes wrong twice, the fix belongs in the process rather than only in the ticket. That is where most of the compounding happens.

Plan before codeAgent-built codeIndependent reviewExecutable evidenceHuman accountabilityProcess improvement

Forward Deployed AI Engineering

I operate as an internal forward-deployed AI engineer, working directly with users and domain experts to turn operational problems into production agentic systems.

  • Discovery from real work

    The cases worth building come from watching how the work is actually done. They do not come from a requirements document, where the spreadsheet someone built four years ago to survive a gap in the ERP never appears, because by now nobody in the room still reads it as a workaround.

  • Enterprise integration

    An agent is only as useful as what it can reach. So the work is identity-bound tools over the systems the business already runs on, with the access rules of each one left exactly where they were.

  • Agentic architecture

    Tools carry the domain knowledge so the model does not have to infer it. Shaped around the question a colleague actually asks, not around the API underneath. That is a design job.

  • Shipping to production

    Done means a colleague used it on a Tuesday afternoon and nothing broke. Rollout, permissions, error handling, the parts nobody demos.

  • Validation with domain experts

    Someone who works with this data every day spots a wrong answer faster than any test I can write. So I check the output against what the people who own the data expected, well before anyone starts trusting it.

  • Telemetry and feedback loops

    What shipped gets measured. Tool-call traces and usage per department tell me which tools carry the load. Evals catch the tool description that quietly steered the model into a wrong call.

  • Enablement and iteration

    I train colleagues on prompting and on writing their own Skills, so the next case can start without me. Their questions are the backlog for the round after that.

Use-case discoveryEnterprise integrationAgentic architectureProduction deliveryEvaluation & telemetryUser enablementDomain-expert partnership

Technical Leadership

Technical leadership is making good work easier to repeat: a clear direction, a shared way of working, and room for people to grow.

  • Team and technical direction

    I lead the development team and own the architecture behind the company's AI capability. We moved from Cursor in Jira, to Claude in Jira, to WBTickets replacing Jira and Confluence. The result is one shared way to write tickets, build code and review it.

  • Engineering multiplication

    Coding agents are not faster autocomplete. The leverage is the system around them: durable context, reviewed plans, independent review and executable evidence. Each improvement then helps the whole team on every ticket.

  • AI adoption across the business

    105 colleagues used the MCP platform in the 90 days to September 2026. Adoption did not spread on its own: we started with champions, then trained people as the rollout widened.

  • Training and enablement

    I run Claude training on prompting, connectors, MCP and skills. With the development team, everyone took a personal project end to end with AI: the practical work that builds confidence.

  • Coaching and hiring

    I coach developers in collaborative code reviews and onboard new team members. For our senior AI-developer hire, I wrote the role and technical assignment, and interviewed candidates.

Team leadershipTechnical strategyAI adoptionTraining & enablementCode review coachingHiringOnboardingStakeholder alignment

Skills & Experience

AI & Machine Learning

Building production AI systems: from MCP architecture connecting LLMs to enterprise data, to ML pipelines on GCP Vertex AI.

MCP ServersMCP AppsPythonGCP Vertex AIBigQueryGenkitLLM OrchestrationML PipelinesClaude Code

Frontend Engineering

18+ years in software engineering, with deep experience building enterprise web applications in Angular. Architecture, performance, and team leadership at scale.

Angular 4–21TypeScriptRxJSSignalsNxTailwindCSSStorybookPlaywright

Full Stack & Cloud

End-to-end delivery across Firebase, GCP, .NET, and Java Spring Boot, with CI/CD, infrastructure, and DevOps.

FirebaseGCPC# / .NETNode.jsJava Spring BootGraphQLGitHub ActionsAzure DevOps

What I'm Building Now

None of these is a side project on its own. Each is a layer of the same platform: identity-bound tools over the business systems, durable organisational knowledge, workflows an agent can read, explicit approval points, and an engineering system that people and agents share. Building it that way is the point, because every layer makes the next one cheaper.

Warmtebouw, 2025–present

Building an AI-First Organization

I'd been deepening my AI development practice for over a year, from Copilot tab completion, to ask mode, to fully agentic workflows, before joining Warmtebouw. Here that experience met a real opportunity: building the company's entire AI capability from the ground up. I've built sixteen production MCP servers across ERP, HR, BIM, energy monitoring, construction standards, pre-order calculation, product data, internal operations and ticketing, totalling 103 tools, eight of them MCP Apps, secured with Microsoft Entra OAuth and RBAC. The servers let non-technical colleagues query live business data through natural language without ERP expertise. I also designed what I believe is one of the first production MCP Apps in Angular: interactive tables, charts, and maps that render directly inside AI conversations. In parallel I'm architecting a reusable MLOps platform on GCP Vertex AI, starting with email classification as the foundation for future ML models. Day-to-day I develop AI-first with Claude Code.

Angular 20/21TypeScriptPythonFirebaseGCP Vertex AIMCP ServersGenkitGitHub ActionsClaude Code
MLOps Platform

ML Platform

Full ML lifecycle management: Vertex AI training jobs, BigQuery data pipelines, model registry, and admin portal. Built as a reusable foundation for future ML models.

WBTickets: Kanban board

WBTickets

An AI-integrated workflow board for humans and agents. Plans, review and approval live in Markdown and Git beside the code, so the state survives when an agent's context is thrown away. It replaced Jira and Confluence, and aggregates tickets from several GitHub repos through a GitHub App, behind Entra SSO.

Fitness Training

WB Fitness

Employee fitness registration app with calendar-based scheduling, trainer management, and role-based access. Microsoft Entra SSO, 90% test coverage enforced.

Warmtebouw Games MCP: Tetris

WB Games: Tetris

An inline Tetris game served through a custom MCP server, with a company-wide leaderboard and AFAS-based role lookup. Built to explore MCP App surfaces beyond plain tool calls.

Featured Work: Allianz Broker Portal

Led the full-stack development team (frontend and backend developers) building a unified broker portal from scratch for Allianz Netherlands. Took ownership of architecture decisions, database modeling, PO alignment, and scrum facilitation. Delivered an Nx monorepo with a shared Angular component library, Storybook, CI/CD pipelines, and a Java Spring Boot BFF with multi-language support.

Allianz customer portal: dashboard overview
Allianz customer portal: document management
Allianz customer portal: policy details

Track Record

WBWorks: Planning & Field Service Platform

Warmtebouw

WBWorks: Planning & Field Service Platform

HVAC workforce management system planning 100+ engineers across six departments. Syncfusion drag-and-drop scheduler, conflict detection, time registration, and bidirectional AFAS Profit ERP sync via REST.

Angular 20FirebaseSyncfusionGoogle MapsAFAS Profit
Pro-Fa Automation Dashboard

Pro-Fa Automation

Pro-Fa Automation Dashboard

Configurable dashboard platform connecting industrial data sources, enabling operators to visualize real-time production data and create custom scripting workflows.

Angular 18-20TailwindCSSDevExtreme
NS E-commerce Platform

NS (Nederlandse Spoorwegen)

NS E-commerce Platform

Contributed to NS's high-traffic e-commerce platform serving millions of daily ticket transactions. Optimized the sales funnel through A/B testing with Optimizely, directly impacting conversion rates.

Angular 18TailwindCSSOptimizelyA11Y
KLM / Air France Aftersales

KLM Royal Dutch Airlines

KLM / Air France Aftersales

Further development of KLM and Air France's aftersales web platform, delivering new features with Angular and a GraphQL BFF architecture within a complex multi-brand IT landscape.

Angular 12GraphQLNxStorybook
Allianz Broker Portal

Allianz

Allianz Broker Portal

Led the full-stack development team building a unified broker portal from scratch. Architecture, database modeling, PO alignment, scrum, Nx monorepo, shared component library, Storybook, and Java Spring Boot BFF.

Angular 11NxStorybook
Bolster Safety E-learning

Bolster Safety

Bolster Safety E-learning

Transformed a legacy AngularJS e-learning platform into a modern Angular application with full UI redesign and management dashboard.

Angular 4-9WebDriverIOChart.js
Bookchoice Mobile App

Teamcoda

Bookchoice Mobile App

Cross-platform Ionic mobile application for ebooks and audiobooks.

AngularIonicCordova
Softpak ProWeb

Softpak

Softpak ProWeb

Web application platform with meta-driven architecture that dynamically generated pages from JSON definitions for Progress OpenEdge.

AngularKendo UICypress
OSIsoft Hackathon

OSIsoft Hackathon

OSIsoft Hackathon

Custom data visualization component for industrial analytics. Won "Best in Show" at the OSIsoft Visualization Hackathon.

D3.jsAngularJSData Viz
OLAM OEE Dashboard

OLAM

OLAM OEE Dashboard

Real-time dashboard measuring Overall Equipment Effectiveness of a cocoa factory with SignalR streaming.

ASP.NET MVCSignalRKendo UI
Total Operating Envelope

Total E&P

Total Operating Envelope

Custom D3.js dashboard components for visual control of operating envelopes of industrial machinery.

D3.jsAngularJSOSIsoft PI
Shell / NAM Metering

Shell / NAM

Shell / NAM Metering

Dashboard for gas sample and metering data across multiple production sites.

ASP.NET MVCC#SQL