Van handwerk naar een bedrijfskritisch orderportaal

Zetprofiel is een staalzetterij in Heteren waar bij vrijwel elke opdracht een uniek product past: een andere vorm, andere maatvoering, een andere coating. De zaak drijft op vakmensen die precies aanvoelen hoe ver een plaat moet rekken om strak op een sandwichpaneel te sluiten, en die de ontwikkelde maat (uitslag) kunnen bepalen. Dat maakt het werk waardevol, maar ook kwetsbaar en lastig op te schalen.

Technieken
React, TypeScript, AWS
Infra
AWS, Infrastructure as Code, CI/CD
Expertise
Backend, Frontend, DevOps

Opdrachtgever

Zetprofiel
Branche
Maakindustrie
Locatie
Heteren

Team

Roland
Adriaan
Bauke
Heleen

Uitrol in fases

Eerst intern, daarna self-service

De klantportaal-features staan al klaar, maar de externe uitrol loopt bewust in fases. Eerst digitaliseert het team intern; pas daarna kunnen klanten zelf online bestellen — zonder het vertrouwde werkproces in één keer om te gooien.

  • Getypeerde, strikte contracten. Eén gevalideerd Woordenboek · In het kortAPIEen API is een vastgelegde manier waarop software gegevens uitwisselt of functies van andere software aanroept, zonder de interne werking daarvan te hoeven kennen.Lees meer fungeert als de bron van waarheid, en daaruit genereren we de frontend-client volautomatisch. Zo kunnen we afwijkingen tussen Woordenboek · In het kortbackendDe backend is het deel van een applicatie dat op de server gegevens verwerkt, bedrijfsregels uitvoert en andere systemen aanstuurt. Gebruikers werken er meestal via een frontend of API mee.Lees meer en frontend, zoals een veld met een verkeerd type, al tijdens het bouwen opsporen.

  • Framework aan de randen. De businesslogica, waaronder de fysica, de prijs en de orderstroom, staat helemaal los van het Woordenboek · In het kortframeworkEen framework is een samenhangende basis voor softwareontwikkeling. Het biedt herbruikbare code, een vaste structuur en afspraken voor het bouwen van een applicatie.Lees meer. Het framework zit in dunne adapters aan de buitenkant, zodat je die logica onafhankelijk kunt testen en meenemen naar een ander uitvoerdomein. Een toekomstige technische keuze raakt de kern op die manier niet.

  • Losse koppeling, strakke grenzen. Onderdelen praten uitsluitend via heldere contracten met elkaar. Dat maakt het systeem wendbaar: je kunt nieuwe functionaliteit toevoegen zonder dat een wijziging door de hele Woordenboek · In het kortcodebaseEen codebase is de verzameling broncode waaruit een softwareproduct of onderdeel wordt gebouwd en onderhouden.Lees meer rimpelt.

Zetprofiel is een staalzetterij in Heteren waar bij vrijwel elke opdracht een uniek product past: een andere vorm, andere maatvoering, een andere coating. De zaak drijft op vakmensen die precies aanvoelen hoe ver een plaat moet rekken om strak op een sandwichpaneel te sluiten, en die de ontwikkelde maat (uitslag) kunnen bepalen. Dat maakt het werk waardevol, maar ook kwetsbaar en lastig Woordenboek · In het kortschaalbaarheidSchaalbaarheid is de mate waarin software, infrastructuur of een proces meer of minder werk kan verwerken zonder een ingrijpende verbouwing of onaanvaardbaar prestatieverlies.Lees meer.

Zetprofiel

De situatie

Snelle service die op handwerk leunt

Bij Zetprofiel geldt een strakke belofte: een order die 's ochtends binnenrolt, ligt vaak dezelfde middag al op de bouw. Daarvoor tekent, rekent en prijst een vakkracht elke order nog met de hand.

Zetprofiel wil snel blijven leveren en klanten straks rechtstreeks online laten bestellen. De software moet daarom berekeningen overnemen die vakmensen nu met de hand uitvoeren, zoals de uitslag van het plaatwerk en de prijsopbouw. Voor veel afnemers wordt dit de eerste keer dat ze zetwerk digitaal bestellen.

Wij tekenen alles 2D en rekenen zelf alle maten uit en de kilo's. Daar hangt weer een prijs aan. De app moet dit allemaal zelf gaan doen.

De vraag achter de vraag

Verder dan een bestelwidget

Vanaf het begin ging het om meer dan orders verwerken. Het portaal moest het hele vakwerk digitaliseren: tekenen, uitslag, gewicht, prijs en werkbon. Dat moest passen op de manier waarop Zetprofiel klanten nu al bedient en het bedrijf efficiënt draait. Die keuze was al gemaakt; onze rol was die lijn gedurende het traject scherp te houden.

Een kant-en-klare bestelwidget was snel te plaatsen, maar bood onvoldoende ruimte voor de eigen vormgeving, referentiefoto's, klantspecifieke prijsafspraken en werkbonnen. Het maatwerkportaal moest juist aansluiten op die bestaande werkwijze.

De lijn bleef helder: eerst de kern goed neerzetten, passend bij het bestaande proces, en dat in fases oppakken. De koppeling naar de kantmachines lieten we bewust buiten versie één. Eerst digitaliseren wat al werkt, daarna pas automatiseren richting de machine.

Plan van aanpak

Vakkennis vertaald naar deterministische software

De rekenketen

Van tekening naar werkbon

Elke order doorloopt dezelfde stappen: tekenen op het canvas, uitslag met buigaftrek volgens DIN 6935, gewicht en prijs — vastgelegd bij bestellen — en productiedocumenten voor de werkvloer.

In de browser draait een tekenmodule als centraal onderdeel van het portaal, waarmee je een profiel rechtstreeks op een canvas kunt opbouwen of aanpassen vanuit een standaardvorm. Daaronder werkt een zuivere geometrie-kern die volledig los van het scherm functioneert en uitvoerig is getest. Die loskoppeling maakt doorlopend onderhoud betrouwbaar. Vanuit die kern berekenen we de ontwikkelde maat met de buigaftrek volgens DIN 6935, waardoor de fysica van het buigen nu in geteste functies leeft in plaats van in een spreadsheet of in iemands hoofd.

Uit dezelfde gegevens volgen gewicht en prijs vanzelf. De prijsopbouw is bewust deterministisch gehouden: hij bestaat uit materiaal, bewerkingen, coating en de klant-specifieke prijsstaffel, en wordt bij het bestellen direct bevroren in de order. Daardoor is een order later nog precies te reconstrueren. Een prijswijziging kan dus nooit met terugwerkende kracht een bestaande order aanpassen. Rond de order maken we een werkbon-PDF aan met een QR-code voor de werkvloer, en we optimaliseren de snijlijst om materiaalverlies klein te houden. De facturatie koppelen we vervolgens op een robuuste manier aan het boekhoudpakket (SnelStart), een koppeling die bestand is tegen herhaling en foutherstel.

Onder de motorkap vertrouwen we op een paar engineering-principes die we met opzet kiezen omdat ze doorontwikkeling op de lange termijn beheersbaar en veilig houden:

  • Getypeerde, strikte contracten. Eén gevalideerd API-contract fungeert als de bron van waarheid, en daaruit genereren we de frontend-client volautomatisch. Zo kunnen we afwijkingen tussen backend en frontend, zoals een veld met een verkeerd type, al tijdens het bouwen opsporen.
  • Framework aan de randen. De businesslogica, waaronder de fysica, de prijs en de orderstroom, staat helemaal los van het webframework. Het framework zit in dunne adapters aan de buitenkant, zodat je die logica onafhankelijk kunt testen en meenemen naar een ander uitvoerdomein. Een toekomstige technische keuze raakt de kern op die manier niet.
  • Losse koppeling, strakke grenzen. Onderdelen praten uitsluitend via heldere contracten met elkaar. Dat maakt het systeem wendbaar: je kunt nieuwe functionaliteit toevoegen zonder dat een wijziging door de hele codebase rimpelt.

Het concrete resultaat voor Zetprofiel is een fundament dat flexibel en robuust door te ontwikkelen valt, met zo min mogelijk Woordenboek · In het kortvendor lock-inVendor lock-in is afhankelijkheid van één leverancier waardoor overstappen naar een alternatief moeilijk, duur of ontwrichtend wordt.Lees meer. De software groeit zo met het bedrijf mee.

Wat we toevoegen

  • Diep domein in code De buigfysica volgens DIN 6935, de uitslagberekening en de prijsopbouw zitten in geteste, deterministische logica. Geen spreadsheet en geen los zwevende kennis, maar herhaalbare software die altijd hetzelfde resultaat geeft.

  • Eerlijk advies dat werk bespaart In plaats van een snelle bestelwidget te kiezen, hebben we een eigen portaal aangeraden met later een machinekoppeling. Dat lost het echte probleem op en voorkomt een tussenoplossing die je na verloop van tijd alsnog moet vervangen.

  • Een doorontwikkelbaar fundament Getypeerde contracten en logica die losstaat van het framework maken het veilig en beheersbaar om nieuwe functionaliteit toe te voegen, en houden de klant tegelijk vrij van lock-in.

Kwaliteit en continuïteit

Gebouwd om te blijven draaien

Voor software waar de dagelijkse productie van afhangt, zie je niet alleen aan hoe die nu presteert, maar juist aan de zekerheid dat hij dat blijft doen. De reken- en prijslogica ligt volledig onder een Woordenboek · In het korttestdekkingTestdekking is een meetwaarde die aangeeft welk deel van de code wordt uitgevoerd tijdens geautomatiseerde tests. De meting kan onder meer regels, functies en vertakkingen tellen.Lees meer die bewaakt dat een wijziging in de ene formule niet stiekem een fout introduceert in een andere. Elke codewijziging loopt door een strak ingerichte Woordenboek · In het kortCI/CDCI/CD is een werkwijze waarbij teams softwarewijzigingen vaak samenvoegen, automatisch controleren en via een vaste reeks stappen voorbereiden op of uitrollen naar productie.Lees meer met least-privilege naar een aparte acceptatie- en productieomgeving, dus geen aanpassing gaat live zonder eerst gecontroleerd beproefd te zijn. De volledige infrastructuur draait op AWS en is vastgelegd als Woordenboek · In het kortinfrastructure as codeInfrastructure as Code (IaC) is een werkwijze waarbij je infrastructuur in configuratiebestanden beschrijft en met software aanmaakt en beheert.Lees meer, op naam van de klant. Dat laatste is wezenlijk voor overdraagbaarheid en helder eigenaarschap.

Een fundament om op verder te bouwen

Het portaal draait in productie. Het team van Zetprofiel gebruikt het nu dagelijks om orders te tekenen, door te rekenen en te verwerken. Verandermanagement, dus. Niet alleen techniek. Belangrijker nog is wat er nu staat: een fundament om verder op te bouwen. Klanten die rechtstreeks online bestellen, een strakkere planning voor grote orders, en op termijn een koppeling die de werkplaats verder automatiseert richting de machines. Zo kan Zetprofiel stap voor stap blijven doen waar het goed in is, terwijl de software almaar meer werk overneemt.

We zijn erg tevreden hoe jullie alles oppakken en hoe het geheel vorm krijgt.

Jeffrey van der Lugt — Planning bij Zetprofiel

Key takeaways

  • Diep, handmatig vakwerk laat zich prima vertalen naar deterministische, betrouwbare software, zolang je het domein echt doorgrondt en niet alleen een formulier in elkaar zet.

  • Eerlijk adviseren betaalt zich terug: een eigen portaal met een machinekoppeling op termijn loste het echte knelpunt op waar een kant-en-klare widget zou stranden.

  • Getypeerde contracten en logica los van het framework zorgen dat software flexibel en robuust door te ontwikkelen blijft, met zo min mogelijk lock-in.

  • Een gefaseerde uitrol ontziet de dagelijkse operatie: eerst binnen de eigen muren digitaliseren, daarna self-service.

ONS WERK

Wat we nog meer doen

CONTACT

Neem contact met ons op

Heb je een vraag of wil je sparren over je software? Laat je gegevens achter, dan nemen we snel contact met je op.