Lowcode vs maatwerk: wanneer Mendix, OutSystems of Power Apps niet meer genoeg is
Lowcode-platformen leveren snelheid waar het ertoe doet: een eerste werkende versie van een interne applicatie binnen weken, een citizen developer die zelf een formulier-flow opzet, een POC voor een proces dat nog niet uitgekristalliseerd is. Tot het moment waarop het schuurt — performance zakt onder gebruikersdruk, je domeinmodel past niet meer in het platform-keurslijf, of je leest in je license-renewal-quote dat de runtime-kosten zijn verdubbeld. Dit artikel beschrijft eerlijk waar lowcode werkt, waar het breekt, en welke route je hebt richting maatwerk-development zonder alles weg te gooien.
Bespreek uw lowcode-traject Bekijk de plafondsWanneer lowcode niet meer schaalt: de plafonds van Mendix, OutSystems en Power Apps
Lowcode is niet vies. Voor een interne approval-flow, een formuliergedreven backoffice-tool of een proof of concept om een proces te valideren is het vaak de snelste route. Maar elk platform heeft een ingebouwd plafond — en hoe verder je organisatie groeit, hoe sneller je daar tegenaan loopt.
Het patroon dat wij zien bij IT-leads en CTO's die ons benaderen is herkenbaar: een team is begonnen met Microsoft Power Apps voor een eenvoudige aanvraagworkflow, of met Mendix Studio Pro voor een klantportaal, of met OutSystems Service Studio voor een mobiele app. Eerste twee jaar: alles loopt. De business is enthousiast, het platform levert. Dan komt het derde jaar — de gebruikersaantallen verdubbelen, een externe API moet worden ingebouwd, het domeinmodel wordt complexer dan het platform comfortabel ondersteunt, en het verlengen van de runtime-license blijkt fors duurder dan begroot.
Dat is geen falen van lowcode. Dat is het ontwerp van lowcode: snelheid en toegankelijkheid in ruil voor abstractie en platform-bindingen. De vraag is niet of lowcode "goed of slecht" is, maar of het bij uw specifieke use case nog steeds de juiste keuze is — en wat u doet als het antwoord nee wordt.
Wat lowcode wel goed doet
Voor we de plafonds beschrijven: lowcode-platformen verdienen krediet voor wat ze daadwerkelijk oplossen. Drie scenario's waarin Mendix, OutSystems of Power Apps gewoonweg de juiste keuze zijn.
Snelle MVP voor interne tooling
Een afdeling heeft een terugkerend proces dat nu in Excel of e-mail loopt — declaraties, vakantieaanvragen, asset-tracking. Een Power App of Mendix-app levert binnen weken een werkende versie. De business valideert of het proces überhaupt werkt voor je investeert in maatwerk-development.
Citizen developer-empowerment
Power Platform is ontworpen om mensen zonder development-achtergrond een werkende oplossing te laten bouwen. Voor formulieren, eenvoudige workflows en dashboards op bestaande SharePoint- of Dataverse-data is dat krachtig. De IT-afdeling wordt ontlast voor "klein gerief", citizen developers leveren zelf hun oplossing.
Simpele workflows en formulieren
Formulier in, validatie, doorzetten naar een goedkeurder, notificatie naar aanvrager, opslaan in database. Voor dat type proces is een lowcode-platform letterlijk gebouwd. De abstractie die elders een blokkade wordt, versnelt hier het werk — geen authenticatie-laag te bouwen, geen formulier-rendering uit te denken.
De gemene deler in deze drie scenario's: het probleem past binnen de standaard-bouwstenen van het platform, het aantal gebruikers blijft beheersbaar, en de complexiteit van de business logic is laag tot middelmatig. Zodra een van die aannames doorbreekt, ben je op weg naar een van de plafonds hieronder.
Zes plafonds waar lowcode tegenaan loopt
Niet één maar meerdere grenzen. In de praktijk lopen organisaties zelden tegen een enkel plafond aan — meestal stapelen ze. Een hieronder beschreven probleem kun je nog mitigeren, twee tegelijk wordt pijnlijk, drie wordt onhoudbaar.
1. Vendor lock-in
Een Mendix-applicatie draait op de Mendix Runtime, een Power App leeft binnen de Power Platform-omgeving, en OutSystems-applicaties zijn gebonden aan de OutSystems Platform Server. De code die je bouwt is geen open standaard die je naar een andere omgeving migreert — het is een platform-specifieke representatie. Wegmigreren betekent in de praktijk hertekenen, niet exporteren. Dat is geen kwaadaardig ontwerp, het is hoe deze platformen winst maken: door de context waarin je werkt te bezitten.
2. Performance bij volume
Onder normale belasting werkt een Mendix- of OutSystems-applicatie prima. Onder piekbelasting — duizenden gelijktijdige sessies, bulk-imports, complexe queries op grote datasets — wordt de abstractielaag een beperking. Je kunt op dat moment niet eenvoudig je SQL-query handoptimaliseren, je hebt geen directe controle over caching-strategieën, en horizontale schaling is gebonden aan wat het platform ondersteunt. Voor een operationele backoffice met honderd gebruikers maakt dat niets uit. Voor een klantgerichte applicatie met duizenden gelijktijdige bezoekers wordt het een wand.
3. Beperkt domeinmodel
Lowcode-platformen werken met een vastgelegde manier van entity-modelling. Mendix heeft zijn domain model, OutSystems zijn entities, Power Apps gebruikt Dataverse. Voor CRUD-applicaties past dat. Maar wanneer je business logic complex wordt — denk aan event sourcing, polymorphe entities, multi-tenant-sharding, of een model met diepe overerving — moet je je domein in het keurslijf van het platform persen. Het kan, maar het wordt een endless dans van workarounds.
4. Integratie-complexiteit
Een API aanroepen via een lowcode-connector werkt voor REST-endpoints met standaard JSON. Maar zodra je te maken krijgt met SOAP, XML met namespaces, OAuth-flows met custom claims, websockets, gRPC, of streaming-data, moet je connector-code schrijven die het platform niet voor je opvangt. Op dat moment betaal je de prijs van lowcode (de abstractielaag) zonder de winst (snelheid). Bij maatwerk-development heb je direct toegang tot mature client libraries — bij lowcode bouw je een wrapper rond een wrapper.
5. License-cost-spike
Runtime-licenses, per-app-licenses, premium-connector-licenses, AI-builder-credits — de licentiestructuur van lowcode-platformen is complex en lineair gekoppeld aan gebruik. Voor een eerste team van tien gebruikers is het verteerbaar. Voor een uitrol naar de hele organisatie loop je tegen een kosten-curve aan die hard stijgt. Bij maatwerk-development zit het kosten-zwaartepunt aan de voorkant (development), bij lowcode aan de achterkant (jaarlijkse licenties die meeschalen met je succes). Reken vooraf door wat het kost als de oplossing slaagt — niet alleen wat het kost als die op één afdeling blijft.
6. Opbouwende technical debt
Elke workaround die je bouwt om een platform-beperking te omzeilen — een custom Java-action in Mendix, een custom connector in Power Apps, een extension in OutSystems — bouwt technical debt op. Niet zichtbaar in een dashboard, maar wel voelbaar bij elke upgrade van het platform en bij elke developer-overdracht. Op een gegeven moment is een groot deel van je codebase precies dat: workarounds. Op dat moment heb je het slechtste van beide werelden — de licentiekosten van lowcode en de onderhoudskosten van maatwerk.
De hybride route: lowcode voor admin-tooling, maatwerk voor de core
De keuze is zelden binair. In veel organisaties is een hybride architectuur de juiste tussenweg — lowcode op de plekken waar het nuttig is, maatwerk-development op de plekken waar het noodzakelijk is.
Concreet betekent dit: uw klantgerichte applicatie, het platform dat de kern van uw waardepropositie levert, draait op een maatwerk-stack. Daar heeft u volledige controle over performance, domeinmodel, integraties en uitbreidbaarheid. De interne admin-tooling — de backoffice waar uw team status bekijkt, een uitzondering goedkeurt of een rapport genereert — kunt u prima in Power Apps of Mendix bouwen. Snelheid op een plek waar de eisen meegeven, robuustheid op de plek waar dat moet.
Maatwerk voor de core
Uw klantportaal, mobiele app, transactie-engine, integratielaag of platform — alles wat klantgericht is, wat performance-eisen heeft of wat uw onderscheidend vermogen vormt. Hier wint maatwerk-development van lowcode op alle assen die ertoe doen: schaalbaarheid, integratie-flexibiliteit, total cost of ownership op middellange termijn.
Lowcode voor de rand
De goedkeuringsworkflow voor inkoop, het inwerk-formulier voor nieuwe medewerkers, het dashboard waar de business team-leads zelf KPI's bekijken. Lowcode levert hier waarde precies omdat de business deze tools zelf kan beheren — geen IT-tickets voor een extra veld, geen developer voor een nieuwe view.
De architectonische sleutel is de scheidslijn: maatwerk en lowcode communiceren via een goed gedefinieerde API-laag. Uw maatwerk-backend levert de waarheid, lowcode-tooling consumeert die via REST of GraphQL. Geen directe database-toegang, geen gedeelde state. Op die manier blijven de twee werelden modulair — de lowcode-tools kunnen worden vervangen of uitgebreid zonder dat de core-applicatie meeloopt.
Wanneer maatwerk vanaf dag één de juiste keuze is
Niet elk project leent zich voor een lowcode-startpunt. Drie patronen waarin we in de regel direct adviseren om voor maatwerk-development te kiezen — niet uit ideologie, maar omdat de alternatieven duurder uitpakken.
Complex business domain
Wanneer uw kernbedrijf draait om een ingewikkeld domeinmodel — pricing-engines met honderden regels, multi-leg trade settlement, regelgeving-gedreven workflows met audit-trails op velvel-niveau — past dat zelden in de standaard entity-modelling van een lowcode-platform. Domain-driven design met expliciete aggregates, value objects en domain events vereist de uitdrukkingskracht van een echte programmeertaal.
Edge cases die ertoe doen
Lowcode-platformen optimaliseren voor het 80%-pad. Het werkt prima zolang uw business "normaal" gedrag toont. Maar als de 20% edge cases — refunds, escalaties, error-recovery, retry-strategieën — kritisch zijn voor uw waardepropositie, gaat lowcode hard worsten. Bij maatwerk schrijft u expliciet uit wat er gebeurt in elke randvoorwaarde, met testdekking om het te bewijzen.
Performance-critical scenario's
Sub-100ms latency-eisen, bulk-processing van miljoenen records, real-time-data-streaming, hoge gelijktijdigheid op een single endpoint. De abstractielaag van lowcode kost hier prestaties die u niet meer kunt terugwinnen zonder onder de motorkap te duiken — en in die motorkap heeft u beperkte toegang. Op die plekken is maatwerk-development geen luxe, het is randvoorwaarde.
Een eerlijke heuristiek: als uw applicatie de plek is waar uw concurrentievoordeel zit — waar u zich onderscheidt van de markt — dan is dat zelden een goede plek om uw architectuur te laten dicteren door een platform-leverancier. Maatwerk geeft u de vrijheidsgraden om dat onderscheid te bouwen en te houden.
Migratiepad: hoe komt u uit lowcode zonder alles weg te gooien?
Een uitloop uit een lowcode-platform is geen big bang. Het is een gefaseerd traject waarin u functioneel parallel draait, gradueel verschuift en uiteindelijk de oude omgeving uitfaseert. Vier stappen die wij hanteren in de praktijk.
Domein-extractie
Eerste stap: de business logic die in workflows, microflows of canvas-app-formulieren zit, expliciet uitschrijven in domein-documentatie. Dit is meestal de pijnlijkste stap — veel logica blijkt impliciet, ergens verstopt in een platform-specifieke configuratie. Maar zonder dit fundament is migreren raden.
API-laag tussen oud en nieuw
U bouwt een maatwerk-API-laag die functies van uw lowcode-applicatie gradueel overneemt. Beide draaien parallel. De lowcode-frontend roept eerst zijn eigen logic aan, gaandeweg de nieuwe API. Strangler-fig-patroon: oude omgeving krimpt naarmate de nieuwe groeit.
Modulaire vervanging
Per business-module — bijvoorbeeld eerst de aanvraagstroom, daarna de goedkeuringsstroom, daarna de rapportage — bouwt u een maatwerk-equivalent. U valideert in productie met een subset van gebruikers voor u opschaalt. Geen onomkeerbare keuzes voor het hele platform tegelijk.
Uitfasering
Wanneer alle businesskritische functies zijn vervangen, schakelt u de lowcode-omgeving uit en zegt u de licenties op. Eventueel laat u één of twee onbelangrijke admin-tools draaien als die nog waarde leveren — maar het zwaartepunt en de complexiteit zit nu in de maatwerk-stack die u zelf bezit.
Wat zetten wij in voor maatwerk-development na lowcode
De technologiekeuze hangt af van het type applicatie en de bestaande infrastructuur, maar onze voorkeuren liggen bij volwassen, breed ondersteunde stacks waar voldoende ontwikkelaars op kunnen werken. Geen exotische frameworks, geen platform-lock-in 2.0. Wat we kiezen moet ook over vijf jaar nog onderhoudbaar zijn door een ontwikkelaar die u niet hoefde te zoeken via een specialist-recruitment-partner.
Voor de backend werken we standaard met TypeScript op Node.js of met C# op .NET, afhankelijk van uw bestaande Microsoft-investering. Voor data-intensieve diensten zetten we Python in. Frontend: React met Next.js voor klantportalen, Astro voor publieke sites die SEO-rendering nodig hebben. Authenticatie via een mature provider (Auth0, Azure AD B2C). Hosting op Azure of AWS, vrijwel altijd containerized.
Waarom Appfront bij de afweging lowcode versus maatwerk
Geen platformreligie
We verkopen geen Mendix-uren of Power Platform-licenties. Wij leveren alleen advies en bouwwerk dat zinnig is voor uw situatie. Dat betekent dat we soms aanraden om bij lowcode te blijven, en soms juist om de migratie naar maatwerk in te zetten — afhankelijk van wat de cijfers laten zien.
Lowcode-codebases doorgronden
Wij hebben Mendix-, OutSystems- en Power Apps-applicaties geanalyseerd, gedocumenteerd en gemigreerd. We weten waar de business logic verstopt zit, hoe je een microflow leest, en hoe je een Dataverse-model uitleest om het naar een eigen schema te brengen.
Volledige maatwerk-uitvoering
We bouwen niet alleen het advies, we leveren ook de migratie en de nieuwe maatwerk-stack. Eén partner door het hele traject — van inventarisatie tot productie — voorkomt de overdracht-pijn die deze migraties anders zo riskant maakt.
Veelgestelde vragen over lowcode versus maatwerk
Lowcode-platform aan zijn plafond? Tijd voor een eerlijke analyse.
We rekenen door wat het uitfaseren van Mendix, OutSystems of Power Apps daadwerkelijk kost — en wat het oplevert. Vrijblijvend en zonder verkoopdruk.
Plan een sparringsessie