
Back-end developer at Junction in Leeuwarden. I work in PHP and Symfony, and these days mostly where back-end meets AI: platforms, integrations and the agents I build software with.
For six years I've built the systems businesses run on. These days I connect them to language models: real data, real tools, real workflows.
What I work on
LLM integrations
AI CouncilLanguage models inside real products: tool calling, structured output and streaming, built to hold up once real users arrive.
OpenAI API · OpenRouter · Google AI Studio · prompt designRetrieval
LatticeEmbeddings and hybrid search on Postgres, so answers come from your own data instead of the model’s memory.
pgvector · embeddings · hybrid searchAI coding agents
Agent OfficeMy own workflow runs on a team of Claude Code, Cursor and Antigravity agents, with task boards, shared memory and cost tracking.
Claude Agent SDK · MCP · git worktreesBack-end
About meThe part that keeps the rest reliable: Symfony applications, APIs, queues and databases, six years and counting.
PHP · Symfony · Messenger · Docker
Selected work

A first-person 3D office where I hire, manage and talk to my Claude Code, Cursor and Antigravity coding agents.

Local-first thinking workspace that turns raw brain dumps into structured knowledge.

Self-hosted dashboard for coordinating OpenClaw agents and their work.

Multi-model deliberation app where AI personas discuss a question and form a verdict.
Tools I use
AI & LLM
Current focus- OpenAI API
- Claude Agent SDK
- MCP
- Google AI Studio
- OpenRouter
- RAG
- pgvector
Back-end
Since 2020- PHP
- Symfony
- Laravel
- Doctrine
- MySQL
- PostgreSQL
- Redis
- REST APIs
Front-end
When a project needs it- Next.js
- React
- TypeScript
- HTML & CSS
- SCSS
Infra
Including my own homelab- Linux
- Docker
- Git
- Plesk
- Unraid
Latest writing
All postsQuestions about AI agents, Symfony or homelabs, or an opinion on last Sunday's race strategy? Send me an email.
contact@roanvanderduim.nl