Naar de inhoud
Software uit een echte bakkerij

Oude ambachten,
nieuw bewustzijn.

Bakkerij Het Lage Woud kneedt met de hand in een eiken trog en draait op software die de bakker en een AI samen hebben gebouwd. Dit is hoe dat werkt, hoe het is opgebouwd, waardoor het werkt en wat het oplevert. Voor iedereen die zijn eigen vak wil combineren met wat er nu kan.

Handen drukken eetbare bloemen in een groot zuurdesemdeeg
Handwerk uit de bakkerij, geen stockfoto
De bakkerij

Bakken zoals rond 1800, in Makkinga

Het Lage Woud is een ambachtelijke biologische bakkerij in Friesland. Zuurdesem dat de tijd krijgt, deeg dat met de hand gekneed wordt in een eiken trog, meel van biologische granen van boeren dichtbij. Honderden broden per week, verkocht via de eigen winkel, de webshop, natuurvoedingswinkels en horeca.

Dat handwerk is de kern en blijft de kern. Maar om al dat handwerk heen hangt een tweede bakkerij: bestellingen, planning, recepturen uitrekenen, pakbonnen, facturen, SKAL-administratie, energie. Die tweede bakkerij deed ik jarenlang 's avonds met de hand, op briefjes, in WhatsApp en in drie losse Excels. Het kostte avonden en het ging een keer te vaak net niet goed.

Software die dit aan elkaar knoopte bleek niet te bestaan. Dus ben ik het zelf gaan bouwen, zonder programmeursachtergrond, met AI als bouwmaat. Dat werd MadeFlow. Sinds december 2025 draait de bakkerij er elke dag op.

De eiken trog
De eiken trog, elke bakdag opnieuw
Zuurdesembrood met bloem bestoven Boterkoek van Het Lage Woud Pain Germé van Het Lage Woud
Hoe het werkt

Eén stroom, van klant tot boekhouding

Elke stap voedt de volgende. Nergens wordt iets overgetypt, dus nergens sluipt een fout in. Bij elke stap staat wie het doet.

Handen blijft handwerkMachine rekent en regeltAI leest mee de bakker bevestigt
1

Bestellen

Klanten bestellen in de webshop of aan de toonbank via de kassa. Zakelijke klanten met eigen prijzen, op rekening. Vaste bestellingen herhalen zichzelf.

Machine
2

Baklijst

Alle bestellingen tellen op tot een baklijst per dag. Deegpotten bewaken hoeveel er per bak kan, zodat de webshop niet meer verkoopt dan de oven aankan.

Machine
3

Receptuur

Van baklijst naar deeg in kilo's: bloem, water, zout, desem, in baker's percentages. Oude recepten komen binnen uit een foto of Excel; AI leest ze, de bakker bevestigt.

AI leest mee
4

Kneden en bakken

Met de hand, in de trog. De desem krijgt de tijd. Het energiebrein plant de baknacht rond de zon, de bakker beslist wanneer de oven aangaat.

Handen
5

Pakbon en levering

Per klant, per doos, met een klik geprint. Pakbonnen van leveranciers gaan als foto het systeem in; AI leest ze uit voor het SKAL-dossier.

AI leest mee
6

Geld en boekhouding

iDEAL koppelt zichzelf aan de bestelling, facturen versturen zichzelf, alles stroomt door naar Moneybird, Exact of SnelStart. Elke nacht een controle.

Machine
Bestellingen in de backoffice
De bestellingen, zoals de bakker ze ziet
De productiematrix
De productiematrix: van bestellingen naar baklijst
De administratie

De administratie doet zichzelf

Alles praat met alles, omdat het één systeem is. Een bestelling wordt vanzelf een baklijst, de baklijst een receptuur, de verkoop een boeking, de pakbon een SKAL-dossier. Waar vroeger de avonden aan opgingen, kijkt nu software mee die het gewoon afhandelt.

  • Facturen versturen zichzelfZakelijke klanten bestellen op rekening en krijgen automatisch hun periodieke factuur: juridisch correct, doorlopend genummerd, met btw-uitsplitsing, als PDF in de mail.
  • Herinneringen gaan vanzelf MachineEen factuur over de vervaldatum krijgt automatisch een eerste en een tweede herinnering. Blijft het stil, dan zet het systeem een aanmaning klaar. Die gaat pas de deur uit als de bakker hem zelf heeft bekeken en verstuurt.
  • Betalingen matchen zichzelfiDEAL-betalingen worden automatisch aan de juiste bestelling gekoppeld. Betaald is betaald, en een onbetaalde bestelling wordt bewaakt in plaats van vergeten.
  • De boekhouding vult zichzelfFacturen, creditnota's en de dagomzet stromen door naar Moneybird, Exact Online of SnelStart. Een dagelijkse integriteitscontrole rekent na of alles klopt, elke dag opnieuw.
  • Het SKAL-dossier schrijft zichzelf AI leest meeEen foto van de pakbon is genoeg: de AI leest hem uit, de bakker bevestigt, en de massabalans en trace-rapporten voor de bio-controle bouwen zichzelf op uit de gewone werkdag.
  • Alles is terug te vindenBelt een klant met een vraag? Elke bestelling, betaling en wijziging is terug te zien, tot op de minuut. Geen discussie, maar even samen kijken wat er gebeurde.
Tot en met de belasting

Ook de bank en de aangifte draaien mee

Het nieuwste deel van het systeem, dagelijks in gebruik in de eigen bakkerij: de geldkant voorbij de kassa. Wat te regelen valt, regelt zichzelf. Wat een oordeel vraagt, komt bij een mens. Hier leest AI het meest mee, en hier zijn de poorten het strengst.

  • De bank sorteert zichzelfElke euro omzet die op de rekening binnenkomt wordt automatisch verdeeld over reserveringspotten: btw, energie, inkoop, salaris. Het geld voor de belastingdienst staat apart voordat het uitgegeven kan worden, en de boekhouding boekt de potten mee.
  • Inkoopfacturen betalen zichzelf AI leest meeEen factuur van de leverancier gaat per mail het systeem in. AI leest het bedrag, de btw en de vervaldatum, plant de betaling en boekt hem in. Goedkeuren gebeurt met Face ID; er wordt niets betaald zonder de bakker.
  • Bonnetjes koppelen zichzelf AI leest meeEen foto van de kassabon is genoeg: het systeem zoekt de pinbetaling erbij en boekt de kosten op de juiste plek. Komt de betaling pas dagen later binnen, dan wacht het geduldig en koppelt alsnog.
  • Elke nacht een controleHet systeem controleert zichzelf elke nacht en meldt 's ochtends in één kort bericht wat aandacht nodig heeft, wat vanzelf goed ging en hoe de zaak ervoor staat.
  • Aangifte-klaar, met een scorePer kwartaal rekent het systeem uit hoe compleet de administratie is voor de btw-aangifte, bereidt de vragen voor de boekhouder voor en signaleert fiscale aandachtspunten. De accountant blijft de beslisser; het systeem doet het voorwerk.
Hoe het is opgebouwd

Onder de motorkap

Geen verzameling losse tools, maar één systeem. Saai maar betrouwbaar, dat is de norm: elke wijziging is productiewaardig of gaat niet live.

Wat de klant ziet

Webshop in de huisstijl van het bedrijf, met pagina's uit blokken. Kassa op de toonbank met pin, contant en op rekening. Klantportaal voor zakelijke klanten.

Wat de bakker ziet

De backoffice: bestellingen, productiematrix, recepten, pakbonnen, facturen, SKAL-dossier, potten en limieten. Ook op de telefoon, ook om vier uur 's nachts.

Wat het platform ziet

Elk bedrijf is een eigen tenant met eigen data. Een statische controle op de code dwingt af dat geen enkele query buiten het eigen bedrijf kan kijken.
daaronder

De kern

Eén Django-monoliet in Python, 27 apps met elk één verantwoordelijkheid: orders, productie, recepten, kassa, betalingen, voorspelling, boekhouding. PostgreSQL als waarheid, Redis en Celery voor werk op de achtergrond.

De koppelingen

Mollie voor iDEAL, Moneybird, Exact Online en SnelStart voor de boekhouding, Postmark voor mail, PDF's voor pakbon en factuur uit één ontwerp. Alles achter een Form of Serializer, nooit een ruw verzoek naar de database.

Waar het draait

Docker Compose op een eigen VPS: web, worker, cron, database, Redis en Caddy. Cloudflare ervoor. Elke nacht back-ups naar een tweede locatie. Een feature-server naast productie voor het laatste echte proefdraaien.
en waar AI meeleest

Lezen

Claude leest foto's van pakbonnen, handgeschreven recepten en inkoopfacturen en maakt er gestructureerde regels van. Elk voorstel wacht op een bevestiging. Niets wordt opgeslagen of betaald zonder de bakker.

Triëren

Een klein lokaal taalmodel (Ollama, op de eigen server) sorteert bij het inrichten van een nieuw bedrijf de assortimentsgegevens voor. Wat het niet zeker weet, laat het liggen.

Rekenen

Het energiebrein is geen AI maar wiskunde: een optimalisatie die de baknacht rond zonopbrengst en stroomprijs plant, op de thuisserver naast de bakkerij. Vraagvoorspelling uit de verkoopgeschiedenis, met feestdagen en seizoenen.
8.287commits sinds december 2025
14.795geautomatiseerde tests
±370.000regels Python, zonder migraties en tests
945databasemigraties
De optimalisatie-laag

Rekenen waar een mens niet aan begint

Onder de administratie ligt een tweede laag: echte optimalisatietechniek, toegepast op een bakkerij. Niet omdat het kan, maar omdat het brood er beter en eerlijker van wordt. Dit is geen AI maar wiskunde, en het draait op de thuisserver naast de bakkerij.

Zonnepanelen op het erf
De zonnepanelen op het erf, gewoon tussen de brandnetels
  • Bakken op de zonDe bakkerij is all-electric en draait op eigen zonnepanelen met batterijopslag. Een zelfgebouwd energiebrein voorspelt de opbrengst, kent het profiel van elke oven en plant de baknacht zo dat er zoveel mogelijk op eigen zonnestroom gebakken wordt. Daaronder zit dezelfde optimalisatie die netbeheerders gebruiken, maar dan voor deeg en ovens.
  • Energie per broodHet systeem meet en rekent door tot op het brood: hoeveel stroom kost één zuurdesem, en wanneer is dat het schoonst en het goedkoopst te bakken.
  • Hoeveel bak ik morgenMadeFlow voorspelt de vraag uit de verkoopgeschiedenis, met dezelfde soort rekenkunde: liever een klein beetje over dan één klant te weinig, feestdagen en seizoenen meegewogen.
  • De korte keten, doorgerekendGraan van een lokale bioboer, zelf gemalen, zelf gebakken. De eigen software rekent de keten door en houdt hem traceerbaar, van akker tot brood.
Systeemkaart van het energiebrein
Een blik in de machinekamer: het energiebrein, echt werkdocument
Waardoor het werkt

Een bakker en een AI, en de poorten ertussen

Geen prompt erin en hopen. Elke wijziging loopt door dezelfde loop, en op vijf plekken beslist een mens. Dat is het hele geheim, en het is geen geheim.

Poort 1: mens

Richting

Een bug, een idee, een wens van een klant. Ik zeg wat het probleem is en voor wie. De AI traceert eerst in de code wat er echt gebeurt, geen aannames.

Agent

Plan

Onderzoek met een mockup, dan een plan, dan een toets van dat plan aan de grondwet en de eerdere besluiten. Pas daarna een lijst losse commits, elk met één doel. /newresearch /newplan /checkplan

Agent, vaste volgorde

Bouwen

Eerst de feature-spec, dan de tests, dan de invoervalidatie, dan de rekenlaag, dan pas het scherm. Buitendeur eerst, scherm laatst. Andersom mag niet.

Automatisch, fail-closed

Bewakers

Bij elke save lint en typecheck. Bij elke commit: elke form heeft een test, elke feature een document, geen bestand te groot, geen query buiten de eigen bakkerij. Niets door zonder groen.

Poorten 2 tot 5: mens

Commit, merge, deploy, verstuur

Wat live gaat, wat naar de klant gaat, wat betaald wordt: dat beslis ik. Eerst proefdraaien op de feature-server, dan pas productie. Bij twijfel telt de menselijke toets, niet de groene test.

De grondwet

Elke fout wordt een regel

Een grondwet van harde regels plus 13 vastgelegde architectuurbesluiten, bijna allemaal geboren uit een echte fout of een echte storing. Die fout maakt het systeem daarna nooit meer.

Het tweede brein

1.700 notes die alles onthouden

Elke klant, elk besluit, elke server, elke les staat in een vault die de AI eerst leest voordat hij redeneert. 161 feature-documenten en 17 runbooks in de code-repo erbij. Niets hoeft twee keer uitgelegd.

Eigen gereedschap

19 eigen skills

Vaste commando's voor plannen, toetsen, loggen, reviewen en mergen. Elke skill is een poort met een vaste vorm, zodat de dag van morgen net zo gaat als die van vandaag.

Een zuurdesem is geen gereedschap dat je commandeert. Het is iets levends waar je mee samenwerkt. Ik voer mijn desem, hij voert mij, en samen laten we brood rijzen. Zo werk ik ook met de AI.

In de bakkerij staat geen enkele machine. In de software staat een hele machinekamer. Die machinekamer dient het ambacht, niet andersom. Het hele verhaal staat in het blog Met dezelfde handen.

Veiligheid

Beveiliging is een werkwijze, geen functie

Wie AI inzet in een bedrijf krijgt terecht de vraag hoe veilig dat is. MadeFlow bewaart bestellingen, prijzen en klantgegevens van bedrijven. Daar horen duidelijke uitgangspunten bij, controleerbare maatregelen en onafhankelijke toetsing. Hieronder staat wat we doen. Hoe de configuratie er precies uitziet, publiceren we bewust niet.

Uitgangspunt 1

Fail-closed

Ontbreekt een sleutel, een bevestiging of een controle, dan gebeurt er niets. Een functie die niet zeker weet dat ze mag, doet het niet.

Uitgangspunt 2

Eén bedrijf, één omgeving

Elk bedrijf is een eigen tenant met eigen gegevens. Toegang tot gegevens van een ander bedrijf is technisch onmogelijk gemaakt, niet alleen verboden.

Uitgangspunt 3

De mens beslist

Richting, wat live gaat, wat naar de klant gaat en wat betaald wordt zijn beslissingen van een persoon. Automatisering bereidt voor; een mens bevestigt.

Hoe de professionalisering vorm kreeg

MadeFlow is begonnen als het systeem van één bakkerij. Sinds meerdere bedrijven erop draaien, is elke storing en elke bevinding omgezet in een regel, en elke regel in een automatische controle. Zo is in negen maanden een werkwijze ontstaan die niet van discipline afhangt, maar van bewakers die bij elke wijziging draaien.

  • Fase 1Invoervalidatie als norm. Alle invoer, van webshop tot koppeling, gaat door een gevalideerde voordeur voordat er iets mee gebeurt. Een ruw verzoek naar de database is sindsdien technisch geblokkeerd.
  • Fase 2Code- en securityreviews. Volledige reviews van de codebasis, waarvan de bevindingen zijn omgezet in geautomatiseerde controles die een commit tegenhouden in plaats van in een actielijst.
  • Fase 3Secrets en isolatie. Sleutels en wachtwoorden versleuteld opgeslagen met versiehistorie. Tenant-isolatie afgedwongen op codeniveau, met een vastgelegd architectuurbesluit erachter.
  • Fase 4Red team. Een aanvalsgerichte toetsing van het volledige systeem: datalekken, toegang tot klantgegevens, misbruik van koppelingen. De bevindingen zijn op ernst geordend; de zwaarste categorie is binnen een dag als hotfix in productie gebracht. Uit die toetsing kwam een blijvende controle die elke ingang van de applicatie registreert.
  • NuVaste securityscan per release. Voor elke release draait een eigen, begrensde securityscan met een nulmeting als referentie. Bevindingen worden geredigeerd vastgelegd en volgen de normale bouwpijplijn.
AI-beleid

Wat AI mag, en wat niet

  • AI leest en stelt voor. Opslaan, versturen en betalen gebeurt uitsluitend na bevestiging door de bakker. Betalingen vereisen biometrische goedkeuring.
  • AI beschikt niet over sleutels tot de bankrekening, de database of de productieomgeving. Zonder geldige sleutel is de leesfunctie uitgeschakeld.
  • Naar een taalmodel gaat alleen het document dat de bakker zelf aanbiedt: een foto van een pakbon, een recept, een factuur. Klantgegevens worden niet gedeeld.
  • De AI waarmee gebouwd wordt, heeft geen toegang tot productie, deployt niet en verstuurt geen berichten. Elke wijziging doorloopt dezelfde tests en dezelfde beoordeling, ongeacht wie hem voorstelde.
  • Geautomatiseerde processen zijn begrensd in tijd en omvang. Een cijfer dat niet herleidbaar is tot een bron wordt gemarkeerd en niet verzonden.
Maatregelen

Wat er technisch op staat

  • Statische controle op tenant-isolatie: code die buiten het eigen bedrijf kan lezen, wordt geweigerd voordat de tests draaien.
  • Register van alle ingangen van de applicatie. Een ingang zonder authenticatie en zonder snelheidslimiet blokkeert de release.
  • Tweestapsverificatie voor beheerdersrollen, blokkade na mislukte inlogpogingen, snelheidslimieten op alle publieke ingangen, versleutelde koppelingssleutels in de database.
  • Bij elke wijziging: 14.795 geautomatiseerde tests, lint, typecontrole en een kwetsbaarheidsscan van de containers. Eerst een feature-omgeving, daarna productie.
  • Dagelijkse back-ups met een kopie op een tweede locatie en een geoefende herstelprocedure. Verwerkersovereenkomst en privacyverklaring zijn openbaar op deze site.

Verantwoorde melding van een kwetsbaarheid wordt op prijs gesteld en serieus opgevolgd. Neem daarvoor contact op via [email protected].

Wat het scheelt

De avonden zijn terug

Een gewone week bij Het Lage Woud, honderd bestellingen, drie bakdagen. Wat er toen aan tijd in ging, en wat er nu nog van over is.

Wat Toen Per week Nu Per week
Bestellingen verwerken Mail, WhatsApp en telefoon met de hand overschrijven op briefjes 4 u Komen binnen in de webshop en de kassa; de baklijst telt zichzelf op 20 min
Recepturen uitrekenen Per bakdag de kilo's uitrekenen in een aparte Excel 1,5 u Staan klaar zodra de baklijst er is 0
Pakbonnen en facturen Per klant maken, printen, mailen, nabellen 2,5 u Printen met een klik; facturen versturen zichzelf, betalingen matchen zichzelf 15 min
Boekhouding Dagomzet en facturen nog een keer overtypen 2 u Stroomt door; elke nacht een integriteitscontrole 10 min
SKAL-administratie Pakbonnen bewaren, noteren, traceerbaar houden, en voor de controle alles bij elkaar zoeken 1 u Foto van de pakbon, bevestigen; het dossier schrijft zichzelf 15 min
Samen 11 u Wat overblijft is kijken en bevestigen 1 u
Schatting op basis van de bakkerij zelf. De echte cijfers kun je me vragen.

Wat niet veranderde

Vijfhonderd kilo deeg per week gaat nog steeds door mijn handen. De desem laat zich niet opjagen, de oven leer je alleen kennen door te bakken. Daar gaat de teruggewonnen tijd naartoe.

Wat erbij kwam

Rust. Het systeem is niet moe en niet gestrest. Het doet precies wat de klant opschreef, en als er toch iets raars gebeurt zie je tot op de minuut wat er gebeurde. Dan wordt het een leermoment in plaats van een verwijt.

Voor jouw vak

Zo zou het voor jou kunnen werken

Dit is niet alleen voor bakkers. Een meubelmaker, een kaasmaker, een drukkerij, een fysiotherapeut: overal hangt om het echte werk een tweede bedrijf van geregel. Wat ik in negen maanden heb geleerd over de combinatie van ambacht en AI past in vijf regels.

Begin bij het geregel, niet bij het vak

Automatiseer niet wat je met je handen wilt blijven doen. Kies wat je 's avonds overtypt, naloopt en kwijtraakt. Daar zit de tijd, en daar kan de machine niets kapotmaken wat jou tot vakman maakt.

Bepaal eerst wat goed is

Schrijf op wat een goede bestelling, een goede factuur, een goed recept is, voordat er iets gebouwd wordt. De AI verkleint dan de mogelijkheden, jij kiest. Zonder die maat is elke uitkomst even goed, en dat is de val.

Klein, en in een vaste volgorde

Eén doel per stap. Eerst de test, dan de invoer, dan de berekening, dan pas het scherm. Precies zoals je een nieuw brood ontwikkelt: eerst één deeg goed, dan pas de hele oven vol.

Elke fout wordt een regel

Ga iets mis, dan schrijf je de regel op die dat de volgende keer voorkomt, en de machine leest die regel elke keer. Zo wordt elke ronde beter dan de vorige. Na een jaar heb je een grondwet die niemand meer hoeft te onthouden.

Jij blijft bij de poorten staan

Richting, wat live gaat, wat naar de klant gaat, wat betaald wordt. Op die plekken beslist een mens, altijd. Al het andere mag de machine doen, en juist daarom kun je hem vertrouwen.

Eerlijk erbij: het kostte negen maanden van avonden, en de eerste versies waren niet goed. Het is geen prompt en geen wondermiddel. Het is vakmanschap met ander gereedschap, en het begint met de vraag wat je met je handen wilt blijven doen.

Waar dit naartoe gaat

Van graan tot brood

De volgende droom staat al op het erf gepland: een plek waar het hele verhaal van graan tot brood beleefbaar wordt. Graan van regionale bioboeren, ter plekke gemalen op een klassieke Franse Astrié-steenmolen, met de hand gekneed zuurdesembrood uit een bakkerij die op eigen zonnestroom draait. De kortst denkbare keten, van akker tot brood, en dankzij de eigen software volledig traceerbaar.

Een plek voor bezoekers, schoolklassen, collega-bakkers en iedereen die zijn eigen vak wil combineren met wat er nu kan. Om te laten zien dat het oudste ambacht en de nieuwste techniek elkaar niet bijten, maar versterken. De molen komt in een kast met glazen deur in de bakkerij te staan: kijken mag.

Broodrekken in de bakkerij
De rekken, vlak voor de winkel opengaat
Brood op de markt
Voor mensen die van brood houden
Waarom het ertoe doet

Het systeem is niet moe en niet gestrest

Het doet precies wat de klant opschreef. Geen vergeten bestellingen, geen verkeerd overgenomen aantallen, geen factuur die blijft liggen. En als er toch iets raars gebeurt, kun je precies terugzien wat er gebeurde. Dan wordt het een leermoment in plaats van een verwijt.

Dat is wat de techniek hier borgt: kwaliteit, en de rust om met je handen in het deeg te staan terwijl je zeker weet dat de rest klopt.

Voor jouw bedrijf

Wil je dit ook?

Dit verhaal gaat over een bakkerij, maar het geregel eromheen is overal hetzelfde. Herken je de avonden achter de administratie, en vraag je je af of het bij jou ook anders kan? Schrijf me.

Waar het gesprek over gaat

Wat je met je handen wilt blijven doen, en waar je tijd verdwijnt. Dat zijn twee verschillende dingen, en het eerste blijft van jou. Pas daarna gaat het over gereedschap.

Wat er achter dit gesprek staat

Een platform dat sinds december 2025 onafgebroken in productie draait en elke dag de bestellingen, de productie en de boekhouding van een werkende bakkerij afhandelt. Bewaakt door 14.795 automatische tests en een securityscan bij elke release.

Joeke Bakker, bakker in Makkinga. Ik lees mijn eigen mail en het kan een dag duren, want ik sta 's ochtends in de bakkerij.