Sjoerd
van Kersbergen
I build AI and automation that run on their own every day - and that I can explain and verify. Production, not demos.
Featured Work
Recent projects exploring AI workflows and practical applications.
Writing
Longer pieces on how I work with AI: build logs, lessons and background.
How I let AI quiz me
Two studies on AI and learning, opposite outcomes. What makes the difference is the role you give the AI, and what material you feed it.
Build your own AI news curator
Pick your sources instead of your feed and let an AI summarize them. A step-by-step ladder from a light manual start to a fully automated version.
I swapped Claude for ChatGPT, in a single evening
In one evening I swapped Claude for ChatGPT as the engine behind my AI system. Almost everything kept working, because the knowledge, tasks and rules live outside the model.
How I keep my AI in check
Five rules that keep my AI systems accountable: measure instead of believe, the source beats the memory, and nothing goes live without a human gate.
From idea to live
How an idea becomes a working feature - with checks at every step.
Growth Timeline
How the work compounds — completed tasks and growing skills.
Milestones
The YouTube reporting flow: fetch transcripts, per-video AI analysis, synthesis by email. The start of all automation — before this chart even begins.
The Knowledge Agent goes operational: system prompt, searchable knowledge base and live task management in Notion. Everything accelerates from here.
First version of this portfolio online, together with the Wire Spine album and process article.
Query and bulk-update webhooks give Kai write access to Notion — from advisor to operator.
1,188 AI conversations from four platforms distilled into a searchable wiki in Obsidian.
FileZilla out: one git push and the VPS publishes through an allowlist hook — safe by default.
One source in Notion, two languages live: I add the English alongside the Dutch and the site builds both versions by itself. The reach goes international.
From this day the site builds and ships itself: every morning it pulls new projects, changelog and stats from Notion and deploys them automatically — hands-off.
After my own benchmark, Anthropic's heaviest model now runs alongside the others. Not for everything: deep audits and full analyses it handles in a single run, and for targeted changes to this site it keeps enough overview to catch the connections between pages too. The model that fits the job, per job.
Changelog
What I build, learn and publish — a running log of momentum.
I had three versions of Claude run the exact same review over the same 73 documents, then let an independent judge decide blind who was right. Fable 5.1 found as many real problems as my previous pick, at a quarter of the cost. Fable 5 dropped out: pricier and less accurate.
My site now picks the right look per kind of page: articles open on light paper, because a blind test showed long texts are not pleasant to read on dark, and the rest stays dark. A button in the menu bar lets you switch whenever you want, and it remembers your choice.
My article on working stricter with AI has been rewritten around numbers my work environment records itself: in August I typed five messages per work session on average, and 103 finished tasks came out of it. The old percentage that failed verification has been replaced by measurements that can be checked by running them again.
Whoever tests their own work is testing what they meant to build. So for every major change to my apps and automations, I now have a fresh AI session actively try to break the work (bad input, empty fields, sneaky routes) before I call it done. Whatever can break, I now find before a user does.
My articles now carry buttons to pass them on in a single click, in Dutch and in English. The repair underneath mattered more: my visitor counter sat on 2 of 50 pages, so not one of the eleven articles had a number behind it. Now the whole site counts along, and a check holds back publication the moment a page misses that counting.
Two years of conversations with AI came to 3.6 million words. Of those I typed about 178,000 myself, just under five percent. I didn't estimate that, I measured it, with a script that gives the same answer every time and warns me when the measuring stick itself has shifted.
I wanted to understand how my own server fits together, so I asked for an explanation. What came back was correct and about a shopping cart: a day later it was gone. Now I have my assistant write study material about my own setup first, and then let it quiz me. That method is now online as an article, in Dutch and English.
I ran three AI passes over my own collection of work notes to see whether outdated or contradictory information had crept in. They flagged seventeen points: twelve turned out to be real, including a guide that had been telling me for months that a security step wasn't needed. The other five were false alarms of exactly the same kind, and that was the most useful insight: a review that sounds convincing can systematically compare the wrong two things.
My daily task email used to suggest three roughly equal jobs every morning: a menu, at exactly the moment when choosing costs the most. Now it points at one, chosen against my own yearly goals rather than whatever is quickest to finish. It shows what is waiting on me, and says out loud what I am leaving for another day.
I had my AI assistant audit its own work backlog. Execution turned out healthy, but new tasks mostly appeared as by-products of old work - almost never from my yearly goals. The fix: once a month, derive the next piece of work from the goals themselves, instead of waiting for whatever drifts by.
I often run several AI sessions at once in the same project folder, and found they were sweeping up each other's changes when saving: one saved version described one job but contained five files from another. The fix turned out not to be smarter guessing about which file belongs to which job, but forcing every session to state exactly what it saves. A check now enforces that, and it rejected the old way of working straight away.
The numbers on one of my project pages had drifted away from the rest of the site: corrected by hand in July, then again in August. My publishing routine was updating that page every day but was not allowed to publish it; it now reports what it produces and cannot ship.
Two government links on one of my project pages had been dead for months: visible to anyone who clicked, invisible to me. A weekly check now verifies every external source and emails me the moment one breaks - the first round found three dead links and five that had moved, all fixed.
My AI assistant carried a 6,600-word instruction manual into every single message, full of rules written for an older AI model. I cut it down to 2,900 words and proved with fourteen blind test rounds that nothing was lost - every conversation is now faster and cheaper.
A nightly clean-up routine for my knowledge archive turned out to be overkill, because new material does not come in every day. It works better to let the tidying and linking run at the moment that counts: on every new upload.
I wanted to build a smarter search layer over my archive of 1,393 AI conversations, because searching on literal words fails the moment your question is in Dutch and the conversation is in English. I tested five hard questions first (such as: find that song about a space heroine from 2024): my AI assistant already found all five, by trying synonyms and translations itself - so I deliberately called the build off.
I wrote down in three sentences what I want to achieve this year. My weekly progress coach (an AI that reads back through my finished work) now asks every Monday: which running tasks contribute to none of the three? And when I ask an open question, my assistant first checks what a good answer should deliver, instead of guessing. Lesson: knowing what you want is the real AI skill, otherwise the model fills it in for you.
My automation server has 9 web integrations that are only supposed to work with a secret key, but nothing ever verified that rule. I built a daily scan that tries every integration without a key and emails me the moment one is open; the very first run found an integration that appeared in no documentation at all (properly locked, luckily).
I tested whether a web page that Claude publishes for me can show my task board directly and safely. It works: the page pulled in my four active tasks live using my own login, without a single password or key stored in the page. This becomes the basis for a permanent dashboard that is always up to date, instead of an overview I have to rebuild every time.
Four weeks of measuring where working in parallel with AI tips over, so I would know before building countermeasures. Every evening, 30 seconds to log three numbers (energy, focus, satisfaction), next to automatic counts from my task system: how many tasks ran at the same time per day, how many got finished, and whether the work was making things myself or steering AI. The result surprised me: on the days with the most parallel tasks (up to 23) my focus was at its best; the full head showed up on days when several recommendations asked for a decision at the same time. So the next step is bundling decision moments, not running fewer tasks at once.
I tested whether an AI video clip improves when you give the model a drawn 20-panel storyboard up front instead of a single loose instruction. Generating the exact same 15-second scene twice: the storyboard version followed the shot plan from start to finish, while the one without kept jumping between loose poses and visual glitches.
I had my most capable AI model write a handbook so a cheaper model could take over its monthly review of my notes archive. When I measured it properly, the handbook added nothing: the cheaper model already did the job just as well, at a tenth of the cost. The real lesson: always measure what happens when you add nothing.
I reviewed my 70-plus automated routines against one fixed question: does this still solve a recurring problem, and does anyone use the result? Two turned out to run double or dead - those are cleaned up - and there's now a fixed quarterly ritual, so retiring an automation becomes just as normal as building one.
I built a project page about the media app for our kids: how one hub with only hand-picked videos, homemade games and our own album works, shown with demo screens without any real family data. The project card on the homepage now clicks through to the full story.
I turned my own AI assistant into a short talking clip: one photo and one spoken line become a speaking face. A hosted chain did the work, for a few cents - showing how low the barrier for this kind of video has become.
My entire task administration lives in an external app. I built a full daily copy on my own machine plus a test that pretends the app has disappeared and rebuilds everything from that copy. The test passed on every point: my system no longer depends on a single vendor.
I tested whether splitting a large review job across several AI models is cheaper and better than one heavy model doing it all itself. Cheaper, certainly: less than half. Better, no - because whoever sees only their own slice misses the pattern that runs across the whole.
A maintenance script had quietly overwritten 41 pages of my second brain with empty templates - a benchmark run by my own AI caught the bug after 17 days. Everything was restored from a backup, five missing pages were re-summarized by five cheaper AI models in parallel, and the script now has a guardrail with an automated test so this cannot happen again.
Share a page of my site on LinkedIn or X and it now shows a proper preview with its own image and title, instead of a bare link. I also built an automatic check, so a new page can never accidentally go live without such a card.
After eleven years of silence, my first LinkedIn post is scheduled again. I built a weekly routine that emails me a proposal with posts for the weeks ahead; I approve it in fifteen minutes and my AI assistant schedules the chosen post for the day and time it stands the best chance.
A customer expert, a market analyst and a strategy advisor, all three AI, tackled one question: what should I focus on in the coming months? The outcome now directly steers my content planning: one recognizable thread, and each of my channels got its own role.
I put a gallery of my own AI images online: fourteen of them, from cinematic scenes to abstract networks, with its own page and a tile on the homepage.
Five dead tiles on the homepage each got their own project page with its own identity: hero, approach, results and sources, in Dutch and English. Now every tile is clickable and every project tells its own story.
One evening instruction, no questions in between: finish my album article and log every assumption along the way. The next morning a complete result was waiting, decision log included; after one read-through it went live, with a copyable music workflow prompt for readers.
Every task now gets a source line: the article or reading tip that sparked it. One question brings back what I read, what I built with it and what is running now - ready-made material for what I share online.
I mapped out what happens if the vendor behind my personal AI system suddenly disappears. The main reassurance: all my data and automations live outside that single vendor, so I lose nothing. The one loose end I found was fixed on the spot, plus I wrote an emergency guide that lets me switch to another AI model within an afternoon.
I gave the whole site a more consistent look: clean drawn icons instead of emoji, my strongest projects featured with the rest in a tidy archive, and my weekly news reports now findable straight from the homepage.
The daily and weekly briefings an AI writes for me about the war in Ukraine and the tech world are now public on my site, and they refresh themselves. With an honest perspective disclaimer and source references included.
I built a coach that reconstructs my past week every Monday from hard data - completed tasks, publications, code - and holds it against the goals I set myself. Not flattering self-reporting, but evidence that confronts: it calls me out on my own pitfalls by name.
Four projects on my site only had a tile with a few sentences. Now each has its own page: my AI assistant, the searchable AI memory, the inventory app and the email reading advice. Every page shows how it works, what it delivers and what I learned along the way.
I wrote the story behind my personal AI system: how it grew in eleven months from loose experiments into something that helps plan and build my work, and what you can take from it if you want to build something similar. Now online in Dutch and English.
I now measure, without cookies and fully on my own server, who visits my website and which posts bring them in. Every Monday I automatically get a short weekly report in my mail: visitors, sources and which buttons people click. So I can see what my posts actually deliver instead of guessing.
My site can now show real articles: a large image, calm reading layout and links through to related work. The first piece is live - about how an assistant writes my posts and I approve them in fifteen minutes.
I gave my AI assistant a link to a paid add-on that creates collage animations, with one question: figure out how it works and whether it can be done for free. It studied the workflow, discovered that my existing image subscription includes the exact same models, and rebuilt the whole pipeline. Same result, zero extra cost.
My automated morning mail proposed my most important tasks every day, but with flat motivations that just repeated the scores. I rewrote the instructions so every choice is now properly argued: why today, what postponing costs, and which contradiction the numbers hide.
I had two Anthropic AI models, Fable and Sonnet, run the same large audit job on my own AI system and compared the results. For big jobs that need to be done in one go, I now use the model that proved best at it.
I built a check that automatically reviews every new portfolio text and blocks it as soon as it contains impenetrable jargon or internal codes. So everything you read on my site stays written for regular readers, without me having to police it by hand.
I had my knowledge agent convert every report into spoken Dutch using a Microsoft neural voice that is almost indistinguishable from a real one, with no subscription or fixed costs. An offline variant stands ready as a fallback.
My photo in the hero no longer sits still: a subtle 30-second loop lets it move gently — made with AI video generation, under 1 MB, and it automatically stays still for visitors who prefer no animation.
When an AI recommendation gets too long to take in at once, I now turn it into a clickable presentation automatically — always ending on the last slide with the core decision and the strongest counterargument laid out side by side.
Hundreds of ready-made AI "skills" are shared by others every week. I built a repeatable method to pick out exactly the ones that strengthen my own work — and deliberately skip the rest. A single pass across nine fields immediately surfaced a handful of concrete improvements, from image prompting to music and data analysis.
I built a tool that helps me decide whether a new tool is worth adopting — fully, partially, or not at all. The twist: a small checker verifies I actually did every step (do the claims hold up against the source? what does each "saving" really cost? does my own system already do this?) before a verdict is allowed.
I built an automatic check that verifies the data in my apps is actually locked down — so no one can accidentally access someone else's data. Every new app now runs through the same check, instead of me having to remember it by hand.
When I build with AI, the model keeps making the same kinds of mistakes — layouts that overflow on mobile, a bulk rename that breaks its own classes, a delete that doesn't refresh the list. I bundled the lessons from all those past sessions into a skill that blocks those mistakes upfront: small scripts that check the code and hard-stop on a known error — catching the bug before it goes live, instead of hoping the AI remembers the rule.
I put my entire knowledge vault under version control with transparent encryption (git-crypt) and pushed it to a private repo. The sensitive layers are unreadable on the server — the key stays with me alone. That gives me a secure backup and a foundation to one day work on projects from my phone, without exposing my knowledge to the cloud.
This site now updates itself daily from my task management in Notion. Completed projects and the growth timeline appear automatically once I release an item — no manual work.
Added LLM observability for the n8n/Gemini flows: latency, quality and cost per call are now visible instead of a blind spot.
The full story behind KAI: how a personal AI operating system grew from scattered experiments into a working whole that runs tasks, knowledge and automation.
The inventory app got an overview dashboard with separate survival KPIs for food and water, plus photo-first location management to organize stock by place.
Every project card on this site got its own screenshot — from the inventory app to the n8n flows, my AI assistant Kai, and this site itself.
My news reports on Ukraine and tech now store their data in a real database (Supabase + Notion) instead of Google Sheets — sturdier and easier to search.
Locked down my automations: every call now needs a key, with a cap on the number of requests.
This site is now bilingual — Dutch and English, both filled automatically from Notion. Wire Spine got a Dutch version too.
One source in Notion, two languages on the site: I add the English text alongside the Dutch, and the site builds both versions by itself.
One tool that manages files, builds the site, and does the front-end work — all from the terminal. My previous build tool (Antigravity) could go.
Projects, changelog and the tech overview now come straight from Notion. I update it there, the site follows — nothing is hand-coded anymore.
My AI assistant Kai now loads its working instructions in small pieces, only when it needs them — faster, cheaper, fewer mistakes.
Site updates now go live with a single command, instead of uploading files by hand.
New notes from Notion land in my knowledge base automatically every day, sorted and labelled right away.
Two years of AI conversations (Claude, ChatGPT, Gemini, Grok) turned into a searchable knowledge base of 51 topic pages — over 70% processed and all linked together.
I speak an idea out loud and it lands automatically as a task on my planning board — no steps in between.
Reorganised my knowledge base and linked it to my local project folder — the basis for one searchable knowledge layer.
Updated the server to the latest versions (Caddy, Docker, n8n) without anything going offline.
All my n8n automations now run on the stable version instead of the test version.
Saved posts from X (Twitter) are now analysed automatically and linked to tasks on my planning board.
Claude can now call my n8n automations directly — faster, without the detour.
Built a game together with my son — from idea to working prototype.
Automatic 'last updated' date on the portfolio via an n8n webhook.
This site now shows concrete, verifiable numbers instead of vague promises.
Worked out Gemini's price change and mapped what it means for my n8n automations.
The inventory app now automatically sends an email every two weeks with the current stock.
Platform comparison completed — Cowork, Claude Code and Antigravity systematically compared on strengths and routing.
Claude Skills explored and deployed — skills pattern evaluated for Kai integration.
Character assets created in Freepik — reusable characters for creative projects.
Inventory app bulk shelf entry via photo completed — jars without labels now recognizable.
Wire Spine website v2.0 live — Stitch-style redesign with video hero and compressed media.
System prompt modularized to save tokens — ~30% reduction per session.
Changelog webhook live — chronological session start replaces 5-6 MCP calls.
Smaug live — X bookmarks automatically archived to markdown via Claude Code.
Wire Spine Veyra Edition published on Suno — Part 2 of the AI concept album, made entirely with Suno Voice.
Children's book for my daughter finished — style, text, illustrations and layout fully AI-generated and printed.
Growth Timeline live on the portfolio — tasks and skills over time visualized as an interactive Chart.js graph.
n8n webhooks for Kai operational — query and bulk-update flows for filtered reads and writes in the Notion DB.
Wire Spine X article published — Part 1 process breakdown of the AI concept album.
Portfolio Content entry updated: 'Generative AI — image & music' replaced by Wire Spine as a full case study with a link to the process article.
First X Article published: a full process article on the making of Wire Spine. Announced via 'who Kers' post on @SjoerdvanKers.
Knowledge Agent Skills protocol live — 200+ tasks tagged, retroactive backfill completed.
Suno v5.5 introduces native Voices — custom voice cloning workflow no longer needed.
Suno Creator Agent V3 live — ElevenLabs Voice Design integrated into the song creation workflow.
Wire Spine process article published — full AI concept album workflow documented.
Inventory app verification check rebuilt — two-pass architecture fixes cross-device inconsistency.
Kennisrouter isolated in its own shielded setup — more stable AI flow architecture.
Website changelog section live — dynamic integration via n8n webhook as the next step.
Learned: flow connections optimized for more stable, safe and unattended background operations.
Kennisrouter migrated to a new 2-step architecture. Data pipeline improved for more stable output.
Cleaning input before the LLM call directly improves output quality.
Kennisrouter decoupled from unstable Gmail OAuth. New 2-step pipeline: IMAP catcher → Data Table buffer → Gemini processor. Better input cleaning, more stable output.
Inventory app extended with camera input and AI product recognition. Faster check flow for mobile use.
Server and container configuration updated to tightened security best practices.
20 n8n flows fully documented in Notion and synced locally to markdown.
Toolkit
The tools and technologies I use to build AI solutions.
Let's build something.
I\'m open to new opportunities and collaborations. Feel free to reach out if you want to talk about practical AI and how to keep it explainable.