Prompt-to-app: hoe ver kom je met een beschrijving?
De volgorde is omgedraaid. Waar je vroeger begon met een gegevensmodel en schermen, begin je nu met een beschrijving van wat de applicatie moet doen. Dat werkt verrassend ver, en het loopt op voorspelbare plekken vast. Dit is waar de grens ligt.
Wat er veranderd is
Codegeneratie is in korte tijd van autocomplete naar iets anders gegroeid. Een agent leest je hele project, begrijpt hoe bestanden samenhangen, en kan een functie toevoegen die op vijf plekken raakt zonder dat je die plekken aanwijst. In combinatie met modellen die een volledige codebase in één keer kunnen overzien, verschuift het werk van typen naar beschrijven en beoordelen.
In de praktijk betekent dat: je beschrijft wat de applicatie moet doen, welke schermen erin zitten, hoe gebruikers inloggen en hoe de gegevens eruitzien, en je krijgt een werkend project terug. Voor een eerste versie is dat een reële werkwijze geworden, niet een demo.
Wat níét is veranderd, is dat iemand moet weten wat er gebouwd moet worden. De beschrijving is het werk geworden, en een vage beschrijving levert een vage applicatie op, alleen sneller dan vroeger.
Waar het goed in is
Het eerste werkende geheel. Een applicatie met inloggen, een paar schermen, een database eronder en een deugdelijke structuur staat er in een fractie van de tijd die het vroeger kostte. Dat is precies de fase waarin je wilt kunnen kijken of het idee klopt.
Herhaalbaar werk. Formulieren, overzichten, filters, exports: patronen die in elke applicatie terugkomen en waar weinig eer aan te behalen valt. Dat is waar de tijdwinst het grootst is.
Vertalen tussen technieken. Een bestaand scherm omzetten naar een ander framework, of een API-koppeling schrijven op basis van documentatie, gaat aanzienlijk sneller dan met de hand.
Waar het vastloopt
Integraties met systemen die zich niet aan hun eigen documentatie houden. Dat is in zakelijke omgevingen eerder regel dan uitzondering, en het is precies het soort probleem dat je alleen oplost door te kijken wat er werkelijk over de lijn gaat.
Randgevallen die niemand heeft opgeschreven. Wat gebeurt er als twee mensen tegelijk hetzelfde record bewerken, als een betaling half doorkomt, als iemand een bestand van 400 megabyte uploadt. Een gegenereerde applicatie kiest daar iets, en dat iets is vaak niet wat je had gewild.
Alles wat met bestaande gegevens te maken heeft. Migreren, opschonen, aansluiten op een administratie die tien jaar gegroeid is: daar zit de complexiteit in het begrijpen van de werkelijkheid, niet in het schrijven van code.
Wat dit betekent voor hoe je begint
De beschrijving is het belangrijkste document geworden. Wie zijn de gebruikers, wat moeten ze kunnen, wat gebeurt er als het misgaat, en met welke systemen praat het. Hoe scherper dat staat, hoe bruikbaarder wat eruit komt.
Reken erop dat de eerste versie een startpunt is en geen eindproduct. Dat was altijd al zo, alleen kwam je er vroeger later achter. Het voordeel nu is dat je binnen een dag kunt zien of de richting klopt, en dat is een goedkoper moment om van koers te veranderen.
Beoordelen wordt de kernvaardigheid. Niet of de code draait, want dat doet hij meestal, maar of hij doet wat er bedoeld is en of de keuzes die zijn gemaakt houdbaar zijn als er honderd gebruikers op zitten.