Er is een grafiek die elk softwareproject volgt als je het laat gaan. Regels code gaan omhoog. Dependencies gaan omhoog. Buildtijden gaan omhoog. Het aantal mensen dat het hele systeem begrijpt gaat omlaag. Op een gegeven moment passeert het project een drempel waarbij geen enkel persoon het geheel meer in zijn hoofd kan houden, en vanaf dat punt is elke wijziging een onderhandeling met complexiteit die je niet volledig kunt overzien.
De meeste AI-agent-frameworks passeerden die drempel jaren geleden. LangChain heeft tienduizenden regels kerncode. OpenClaw's node_modules bevat meer dan 1.200 pakketten. Zelfs "minimale" frameworks leveren doorgaans duizenden regels als je de tool-uitvoeringsengine, de provider-abstractielaag, het pluginsysteem en de configuratieparser meetelt.
NanoClaw's kern is ruwweg 500 regels TypeScript. Dit is niet omdat het minder doet — het ondersteunt WhatsApp-berichten, containerisolatie, persistent geheugen, geplande taken, agent-swarms en webbrowsing. Het is omdat het een andere keuze maakt over waar complexiteit thuishoort.
De complexiteit moet ergens leven
De eerlijke versie van het "minder code"-argument is niet dat NanoClaw complexiteit heeft geëlimineerd. Het is dat NanoClaw complexiteit heeft verplaatst naar plekken waar het beter beheerd wordt.
De agentlus — een bericht ontvangen, beslissen welke tools te gebruiken, tools uitvoeren, fouten afhandelen, meervoudige gespreksturnussen beheren — is complex. In de meeste frameworks leeft deze complexiteit in applicatiecode die de frameworkbeheerders schreven en die jij moet vertrouwen, debuggen en bijwerken. In NanoClaw leeft deze complexiteit in Claude Agent SDK, dat wordt onderhouden door Anthropic's engineeringteam, getest tegen Claude's werkelijke gedrag en bijgewerkt in gelijke tred met het model.
De tooluitvoering — webbrowsing, bestandstoegang, shell-commando's — is complex. In de meeste frameworks is elke tool een maatwerk-implementatie met eigen foutafhandeling, eigen retry-logica en eigen beveiligingsmodel. In NanoClaw worden tools geleverd door Claude Code in de container. De toolimplementaties worden onderhouden door Anthropic, en het zijn dezelfde tools die duizenden ontwikkelaars dagelijks gebruiken via Claude Code's CLI. Het beveiligingsmodel — sandboxing, rechtenafdwinging, secretbeheer — is complex. In de meeste frameworks is beveiliging code op applicatieniveau die bugs kan bevatten. In NanoClaw is beveiliging containerisolatie afgedwongen door het besturingssysteem. Apple Container en Docker zijn gehard door duizenden engineers over vele jaren. NanoClaw's 80 regels containerorkestatiecode benutten die investering in plaats van te proberen deze te repliceren.
Het patroon is consistent: NanoClaw's 500 regels zijn de orkestratielaag die goed onderhouden, goed geteste componenten verbindt. De complexiteit bestaat, maar leeft in componenten die worden onderhouden door teams met meer middelen en meer expertise dan welk enkel open-sourceproject dan ook zou kunnen evenaren.
Wat je kunt doen met 500 regels
De mogelijkheden die 500 regels bieden zijn breder dan de meeste mensen verwachten, omdat de mogelijkheden uit de componenten komen, niet uit NanoClaw's code.
Webbrowsing werkt omdat de containerimage Chromium en agent-browser bevat. NanoClaw implementeert geen browser — het mount er een in de container. Bestandstoegang werkt omdat de container een gemount bestandssysteem heeft. NanoClaw implementeert geen bestands-I/O — het configureert welke paden beschikbaar zijn. Agent-swarms werken omdat Claude Code agentdelegatie native ondersteunt. NanoClaw implementeert geen multi-agent-orkestratie — het start containers en laat Claude de coördinatie afhandelen.
De 500 regels handelen de dingen af die specifiek zijn voor NanoClaw's use case: WhatsApp-berichten ontvangen via Baileys, groepsstatus opzoeken in SQLite, de juiste container starten met de juiste mounts, secrets doorgeven via stdin, antwoorden verzamelen via IPC en ze terugsturen naar WhatsApp. Dit zijn de beslissingen die NanoClaw als product definiëren — de keuzes over hoe gebruikers veilig en handig met AI-agents te verbinden.
Al het andere wordt gedelegeerd aan componenten die het beter doen dan NanoClaw zou kunnen. Dit is geen luiheid. Het is de erkenning dat de beste code code is die je niet hoeft te schrijven, omdat code die je niet schrijft geen bugs heeft, geen onderhoud nodig heeft en geen beveiligingskwetsbaarheden creëert.
Het onderhoudsdividend
Het praktische voordeel van een kleine codebase groeit in de loop der tijd op manieren die in eerste instantie niet voor de hand liggen.
Wanneer Anthropic een nieuwe versie van Claude Agent SDK uitbrengt met verbeterd toolgebruik, krijgt NanoClaw de verbetering door één dependency bij te werken. Er is geen abstractielaag om bij te werken, geen adapter om te herschrijven, geen compatibiliteitsmatrix om te controleren. De SDK wordt direct gebruikt, dus SDK-verbeteringen stromen onmiddellijk door.
Wanneer een beveiligingskwetsbaarheid wordt ontdekt in een container-runtime, is de fix het bijwerken van Docker of Apple Container — niet het patchen van NanoClaw's code. De beveiligingsgrens wordt onderhouden door infrastructuurteams bij Apple en Docker, niet door een klein open-sourceproject.
Wanneer een nieuwe bijdrager de codebase wil begrijpen, kan die alle 500 regels in minder dan een uur lezen. Ze hoeven geen pluginsysteem, provider-abstractie of tool-uitvoeringsframework te begrijpen. De hele architectuur past in één mentaal model: berichten komen binnen via WhatsApp, containers verwerken ze met Claude, antwoorden gaan terug naar WhatsApp.
Dit is het onderhoudsdividend van minimale code. Elke regel die je niet schrijft is een regel die je niet debugt, niet documenteert, niet uitlegt aan nieuwe bijdragers en niet patcht wanneer de wereld om je heen verandert. ## Wanneer minder daadwerkelijk meer is
De 500-regelfilosofie is niet universeel toepasbaar. Als je een aangepaste AI-applicatie bouwt met specifieke bedrijfslogica, heb je een framework nodig waarmee je die logica kunt uitdrukken — LangChain, CrewAI of vergelijkbare tools. Als je AI-providers moet ondersteunen die Claude Agent SDK niet dekt, heb je een provider-abstractielaag nodig. Als je een plugin-ecosysteem nodig hebt voor niet-technische gebruikers, heb je een pluginsysteem nodig.
NanoClaw's inzet is beperkter: voor een persoonlijke AI-assistent die verbindt met chatkanalen, veilig in containers draait en Claude's mogelijkheden benut via de officiële SDK, is 500 regels niet alleen genoeg — het is optimaal. Elke regel daarboven zou complexiteit zijn die de gebruiker niet dient, onderhoudslast die het product niet verbetert en aanvalsoppervlak dat niet hoeft te bestaan.
De software-industrie heeft een diepgewortelde voorkeur voor meer. Meer features, meer abstracties, meer configuratieopties, meer regels code. De aanname is dat meer code meer mogelijkheden betekent. NanoClaw is een tegenvoorbeeld — een project waar de mogelijkheden komen uit de componenten die het verbindt, niet uit de code die het bevat. De 500 regels zijn niet het product. Ze zijn de minimale brug tussen de gebruiker en de AI, ontworpen om zo dun mogelijk te zijn zodat niets in de weg staat.