EST. FRYSLÂN // NL
GEVESTIGD IN FRYSLÂN
v.4.7 // running
// uptime: forever
// uptime: altijd
STATUS: caffeinated & deploying STATUS: koffie & deployen · LAT 53.10°N · LON 6.10°E

RICHARD
WESTERHOF

automation engineer · AI developer · rapper
automation engineer · AI developer · rapper

About
the human

Over
de mens

I'm an automation engineer at Cloud86, a Dutch web hosting company, where I work on internal AI tooling — including a customer-facing assistant that helps the support team scale. I can't share the internals, but the work sits at the intersection of LLMs, workflow automation, and good old-fashioned technical writing.

Language and code are the same craft — both reward precision, rhythm, and knowing when to break the rules. — what got me into AI

Long before the agents and the YAML, I was Link — the MC half of SQRD, a crew of friends making drum & bass, dubstep and hip-hop together. The name was a slightly creative way of writing "secret", which in hindsight is also a fairly good description of how loud some of those tracks should have been kept. I'm still a not-half-bad rapper, and that's not a footnote — it's exactly why this work makes sense to me.

My love for language and my love for technology meet right at the seam where AI lives. Prompt engineering, in particular, is just writing under constraint: meter, intent, voice, the right word in the right slot. The same instinct that builds a verse builds a system prompt that actually behaves. SQRD-Link on GitHub is the same person; the artefacts just look different now.

Off-screen I run a homelab with a Nostradamus naming scheme (because all the good server names were taken). I tinker with Docker, Kubernetes, Hackintoshes, and local LLMs through Ollama and LM Studio. I lose at FIFA against people online, listen to a lot of drum & bass, and read DKIM specs for fun. Apparently.

Ik ben automation engineer bij Cloud86, een Nederlandse webhoster, waar ik werk aan interne AI-tooling — onder meer een klantgerichte assistent die het support-team helpt schalen. Over de interne werking kan ik niet veel kwijt, maar het werk zit op het snijvlak van LLMs, workflow-automatisering en goed ouderwets technisch schrijven.

Taal en code zijn hetzelfde vak — beide belonen precisie, ritme, en weten wanneer je de regels mag breken. — hoe ik bij AI terechtkwam

Ruim voor de agents en de YAML was ik Link — de MC binnen SQRD, een groepje vrienden waarmee we drum & bass, dubstep en hip-hop maakten. De naam was een ietwat creatieve schrijfwijze van "secret", wat achteraf ook best beschrijft hoe stil sommige van die tracks gehouden hadden moeten worden. Ik ben nog steeds een niet onverdienstelijke rapper, en dat is geen voetnoot — het is precies waarom dit werk klopt voor mij.

Mijn liefde voor taal en mijn liefde voor techniek vinden elkaar precies op het snijvlak waar AI zit. Prompt engineering is in de kern gewoon schrijven onder beperking: metrum, intentie, stem, het juiste woord op de juiste plek. Hetzelfde instinct dat een couplet bouwt, bouwt een system prompt die ook echt doet wat hij moet doen. SQRD-Link op GitHub is dezelfde persoon; de artefacten zien er alleen anders uit nu.

Daarnaast draai ik een homelab met een Nostradamus-naamgeving (alle goede servernamen waren al bezet). Ik prutst met Docker, Kubernetes, Hackintoshes, en local LLMs via Ollama en LM Studio. Verlies van mensen online met FIFA, luister veel drum & bass, en lees DKIM-specs voor de lol. Blijkbaar.

Stack
dump

Stack
dump

richard@nastradamus:~$ cat skills.json
~ 17.4kB · utf-8
$ cat language-and-ai.skill role: where words meet machines stack: prompt-engineeringLLMsClaudeRAGfunction-callingMCP-servers notes: a verse is a system prompt is a verse. tone, intent, constraint. $ cat automation.skill role: i make agents that actually do the work stack: n8nwebhooksworkflow-designtool-useRAGYAML notes: production AI for technical domains · happy to talk shop $ cat infrastructure.skill role: self-host first, ask questions later stack: DockerKubernetesOrbStackTailscaleLinuxHackintoshPostgreSQLOutlineNetbox notes: if it can run on my hardware, it does $ cat dev.skill role: shipping over perfection (but still pretty fussy) stack: Next.jsPrismaNode.jsPHPPythonTypeScriptTailwindGit notes: MoneyMonkey · assessment-site · training-portal $ cat dns-and-hosting.skill role: the person who actually reads the SPF spec stack: SPFDKIMDMARCDNS-diagnosticscPaneldeliverability notes: yes, I know why your mail goes to spam. no, it's almost never random. $ _
richard@nastradamus:~$ cat skills.json
~ 17.4kB · utf-8
$ cat taal-en-ai.skill rol: waar woorden machines ontmoeten stack: prompt-engineeringLLMsClaudeRAGfunction-callingMCP-servers noten: een couplet is een system prompt is een couplet. toon, intentie, beperking. $ cat automation.skill rol: ik bouw agents die echt werk doen stack: n8nwebhooksworkflow-designtool-useRAGYAML noten: productie-AI voor technische domeinen · vraag het me bij een kop koffie $ cat infrastructuur.skill rol: self-host first, vragen later stack: DockerKubernetesOrbStackTailscaleLinuxHackintoshPostgreSQLOutlineNetbox noten: als het op mijn hardware kan draaien, draait het op mijn hardware $ cat dev.skill rol: shippen boven perfectie (maar wel netjes) stack: Next.jsPrismaNode.jsPHPPythonTypeScriptTailwindGit noten: MoneyMonkey · assessment-site · training-portal $ cat dns-en-hosting.skill rol: degene die de SPF-spec daadwerkelijk leest stack: SPFDKIMDMARCDNS-diagnostiekcPaneldeliverability noten: ja, ik weet waarom je mail in spam belandt. nee, het is bijna nooit toeval. $ _

Work
in production

Werk
in productie

01

Noa

production AI agent · Cloud86
productie AI-agent · Cloud86

A production AI assistant I lead the design and ongoing development for at Cloud86. The brief: an agent that holds up across multiple technical domains and stays maintainable as its scope grows. The architecture is internal — happy to walk through it over coffee.

Een productie-AI-assistent waarvan ik bij Cloud86 het ontwerp en de doorlopende ontwikkeling leid. De opdracht: een agent die overeind blijft over meerdere technische domeinen heen en werkbaar blijft naarmate de scope groeit. De architectuur is intern — bij een kop koffie loop ik er graag doorheen.

AI agentsLLMsprompt engineeringworkflow design
02

MoneyMonkey

finance app for people with too many banks
finance-app voor mensen met te veel banken

Personal finance app in Next.js + Prisma. AI-powered transaction categorization in a two-layer hierarchy, IBAN-based transfer detection, savings vs. internal transfer logic. Because the bank's own app doesn't do what I want, and I needed an excuse to wrestle with Prisma singletons.

Persoonlijke finance-app in Next.js + Prisma. AI-gestuurde transactie-categorisatie in een tweelaagse hiërarchie, IBAN-based transfer-detectie, savings versus internal transfer-logica. Omdat de bank-app niet doet wat ik wil, en ik een excuus zocht om met Prisma-singletons te worstelen.

Next.jsPrismaPostgreSQLOpenAITypeScript
03

J-AI-mie

the family chef with FODMAP awareness
de gezinschef met FODMAP-bewustzijn

Family meal planning chatbot in n8n. FODMAP-aware (because food sensitivities are real), with dynamic meal history injection so we don't get pasta six weeks in a row. Ottolenghi-inspired, driven by the actual logistics of a household.

Family meal planning chatbot in n8n. FODMAP-aware (want voedselgevoeligheden zijn echt), met dynamische meal history injection zodat we niet zes weken op rij pasta krijgen. Ottolenghi-geïnspireerd, aangestuurd door de feitelijke logistiek van een huishouden.

n8nGPT-4owebhooksHTML UI
04

Homelab

Nostradamus runs in my closet
Nostradamus draait in mijn meterkast

A self-hosted infrastructure stack with a Nostradamus naming scheme: nastradamus (NAS), almanac (backups), visions (media), chronicles (images), prophecies (wiki). Outline for docs, Netbox for inventory, Tailscale for the mesh. My data, my hardware, my rules.

Een self-hosted infrastructuurstack met een Nostradamus-naamgeving: nastradamus (NAS), almanac (backups), visions (media), chronicles (foto's), prophecies (wiki). Outline voor documentatie, Netbox voor inventaris, Tailscale voor de mesh. Mijn data, mijn hardware, mijn regels.

DockerK8sTailscaleOutlineNetboxOrbStack

Static
& noise

Ruis
& signaal

RAP DRUM & BASS HIP-HOP FIFA HOMELABS LOCAL LLMs OTTOLENGHI RAP DRUM & BASS HIP-HOP FIFA HOMELABS LOCAL LLMs OTTOLENGHI RAP DRUM & BASS HIP-HOP FIFA HOMELABS LOCAL LLMs OTTOLENGHI RAP DRUM & BASS HIP-HOP FIFA HOMELABS LOCAL LLMs OTTOLENGHI

Rap // Link

MC name: Link. Crew: SQRD (read: "secret"). D&B, dubstep, hip-hop. Words on time — the original prompt engineering.

MC-naam: Link. Crew: SQRD (lees: "secret"). D&B, dubstep, hip-hop. Woorden op de tel — de originele prompt engineering.

D&B

liquid, neuro, jump-up. headphones on, focus mode.

liquid, neuro, jump-up. koptelefoon op, focusmodus.

Hip-Hop

boom-bap original, everything that came after also welcome.

boom-bap origineel, alles erna ook welkom.

FIFA

still losing to people online. still trying.

verlies nog steeds van mensen online. blijf 't proberen.

Homelabs

servers with names. scripts with histories.

servers met namen. scripts met geschiedenis.

Local LLMs

qwen, llama, ollama. M5 Pro · 48GB · steaming.

qwen, llama, ollama. M5 Pro · 48GB · gloeiend.

Send
a signal

Stuur
een seintje

Got a workflow worth automating? An AI agent that has to actually do something? A homelab question on a Saturday night? Drop a line. No forms. Just signal.
Een workflow die het waard is om te automatiseren? Een AI-agent die echt iets moet doen? Een homelab-vraag op zaterdagavond? Stuur een berichtje. Geen formulieren. Just signal.