← Terug naar news
Tech

Waarom we alles in TypeScript bouwen, niet meer in n8n

We gebruikten n8n als motor onder veel klantsystemen. Inmiddels schrijven we alles direct in TypeScript. De redenen zijn praktisch, niet ideologisch.

We gebruikten n8n jaren als motor onder klantsystemen. Voor een tijd was dat de juiste keuze: snel iets in elkaar klikken, brede integraties, geen build-pipeline nodig. Maar de wereld is veranderd. Met Claude die code schrijft op tempo, is no-code geen voordeel meer. Code is sneller geworden, en de nadelen van workflow-engines werden zichtbaarder. ## Wat we kwijtraakten in n8n **Versiebeheer.** Een workflow is JSON. Diffen werkt nauwelijks: je zag dat "node X.position.y" met 3 pixels was verschoven, niet dat een if-statement was toegevoegd. Code-reviews op workflows waren een crime. **Refactoring.** Een endpoint hernoemen of een veld in een payload veranderen, betekende handmatig 8 nodes bijwerken op 4 plaatsen. In code: 1 zoekopdracht, 30 seconden klaar. **Testen.** Een workflow testen vereist hem activeren met testdata, kijken of de uitkomst klopt. Geen unit tests, geen CI gates. Bij elke wijziging risico op regressie zonder dat je het ziet. **Vendor afhankelijkheid.** Workflows draaien alleen in n8n. Wil je naar een andere engine, dan kun je opnieuw beginnen. Code draait overal waar Node draait. **Performance.** n8n parsed elke run een workflow JSON, instantieert nodes, doet variable substitution. Voor een simpele HTTP-call met een paar transformaties betekent dat een orde van grootte meer overhead dan een directe TypeScript functie. ## Wat code wel oplost **Diff-bare commits.** Iedere wijziging staat in git. Je ziet exact wat er veranderde, wie het deed, wanneer, en waarom. Code-reviews op pull requests werken zoals ze horen. **Type safety.** TypeScript vangt 80% van de bugs voordat je iets draait. Een veld dat niet bestaat? Compile-error. Een verkeerd return-type? Compile-error. n8n vond die fouten pas tijdens de runtime, vaak in productie. **Tests die wat zeggen.** Vitest voor unit, Playwright voor end-to-end. Een groene test-suite is een echte garantie dat de logic werkt. CI weigert een merge als iets faalt. Geen onaangename verrassingen meer. **Echte composability.** Functies, modules, dependency injection. Code is herbruikbaar tussen projecten. Een workflow in n8n is altijd een eiland. **Lagere kosten.** Geen self-hosted n8n server (€30 tot €60 per maand) en geen 4 tot 8 uur beheer. Gewoon een Vercel of Hetzner deploy waar de code op draait, met dezelfde infrastructuur als de rest van de stack. ## Waar n8n nog past Ik wil niet doen alsof n8n nutteloos is. Voor twee scenario's blijft het verdedigbaar: 1. Je team wil zelf workflows beheren zonder een developer te bellen 2. Je hebt 5 tot 10 mini-automations en geen enkele developer in huis In beide gevallen is de operationele drempel van code te hoog. Voor alle andere situaties is TypeScript inmiddels gewoon sneller, betrouwbaarder en goedkoper. ## Hoe het er nu uitziet Bij CORE Leeuwarden, 2BMade en Umagine vervangen we de n8n workflows stuk voor stuk door TypeScript modules. Elke module heeft tests, draait achter een API of cron, en deployt automatisch via GitHub Actions. De systemen werken sneller, breken minder, en als ze breken zien we direct waar.

Johan Oenema