Naar de inhoud
Terug naar projecten
LiveSaaS-product

Nolorem

Onderzochte content met bronnen, geen verzonnen tekst

Bezoek Nolorem

Waar de naam vandaan komt

Lorem ipsum is opvultekst. Het ziet eruit als taal, het vult een pagina, en het betekent niets. Precies dat is wat de meeste AI-schrijftools opleveren: vlot geformuleerde alinea's die aannemelijk klinken en waar je bij nalezen niets aan hebt, of erger, waarin een cijfer staat dat nergens vandaan komt.

Nolorem is gebouwd rond de weigering om dat te doen. Een post vertrekt van echte bronnen, niet van het geheugen van het model. Elke bewering met een cijfer of een citaat krijgt een verwijzing, en wat niet herleidbaar is naar een bron die het ook echt ondersteunt, wordt tegengehouden in plaats van gepubliceerd. Geen opvultekst, geen hallucinaties. Vandaar de naam.

Het probleem waarvoor het gebouwd is

Bonalogic had content nodig. Niet omdat content boeiend is, maar omdat een bedrijf zonder content onzichtbaar blijft. Het werk is bovendien echt zwaar: een onderwerp degelijk onderzoeken, iets schrijven dat de moeite van het lezen waard is, afbeeldingen zoeken of maken, keywords bepalen, publiceren, en volgende week opnieuw. Elk uur dat eraan opgaat, gaat niet naar het bouwen van software.

De bestaande tools losten elk één schijfje op. Een schrijfassistent die aannemelijke tekst produceert maar geen idee heeft van wat je al gepubliceerd hebt. Een planner die post wat je hem geeft. Een keywordtool die je een spreadsheet overhandigt. Die met de hand aan elkaar knopen bleek een deeltijdse job op zich.

Zo begon Nolorem als privétool: één pijplijn die gaat van "dit is mijn vakgebied" naar "hier is een ingeplande, geïllustreerde post met bronnen", waarbij een mens nakijkt in plaats van assembleert.

Wat het doet

Het overzichtsscherm van Nolorem, met de blogs, de lopende campagnes en de eerstvolgende ingeplande posts.
Het overzicht: welke blogs draaien, wat er in de pijplijn zit, en wat er als eerste uitgaat.

Eerst onderzoeken, dan schrijven. Dit is het stuk dat de meeste tools overslaan, en net dat stuk bepaalt of de output publiceerbaar is. Er draait een verificatiestap die gegenereerde beweringen terugleest tegen hun bronnen en tegenhoudt wat het niet overleeft.

Het verificatiepaneel, waarin elke bewering uit de tekst naast de bron staat die ze zou moeten dragen, met een oordeel per bewering.
De verificatiestap. Elke bewering komt naast de bron te staan die ze zou moeten dragen, en wat het niet haalt gaat er niet in.
De schrijfomgeving van Nolorem, met de tekst in het midden en de gevonden bronnen ernaast.
De schrijfomgeving. De bronnen blijven naast de tekst staan, want nakijken zonder de bron erbij is geen nakijken.

Blog en social uit één plan. Een blogpost wordt hergebruikt tot socialposts die op zichzelf staan in plaats van te lezen als een linkdump. Campagnes koppelen een reeks posts aan één thema, zodat de output een vorm heeft en geen stroom losse artikels is.

Het hergebruikscherm, waarin uit één blogpost meerdere socialposts per kanaal worden opgesteld en ingepland.
Uit één blogpost komen socialposts die op zichzelf staan, meteen ingepland per kanaal.

Zeven interfacetalen, meer voor content. Meertaligheid was vanaf de eerste week een vereiste, want het publiek is niet alleen Nederlandstalig. Vertalen gebeurt op contentniveau, niet door de pagina door een widget te halen.

Het publiceert waar je al zit. Connectoren duwen afgewerkte posts naar een bestaande site, WordPress en Drupal onder meer, in plaats van te eisen dat je je blog verhuist.

De WordPress-connector, met de koppeling naar de doelsite en de keuze van categorie en publicatiestatus.
De WordPress-connector. De afgewerkte post vertrekt naar de site die je al hebt.

Waar ik tegenaan liep

Factchecking is met voorsprong het moeilijkste stuk. Een taalmodel vlotte tekst laten produceren is triviaal. Het alleen dingen laten beweren die een geciteerde bron ook echt ondersteunt, is dat niet. Het grootste deel van het ontwikkelwerk ging daarin zitten, en niets anders verlegt de kwaliteit zo hard.

Quota blijken een productbeslissing, geen technische. Hoeveel posts een abonnement toelaat klinkt als een configuratiewaarde. Dat is het niet: het grijpt in op hoeveel blogs een account heeft, of een verwijderde post zijn quotum vrijgeeft, en wat een proefperiode moet tonen. Dit fout hebben blijft onzichtbaar tot een klant tegen een limiet botst die de prijspagina tegenspreekt.

Self-hosting verandert de architectuur, niet alleen de deployment. De hele stack op eigen infrastructuur draaien maakt vertrouwelijkheid een eigenschap van het systeem in plaats van een belofte in een contract. Het betekent ook dat elk operationeel probleem van mij is. Die ruil is de moeite waard, maar het blijft een ruil.

Waarom dit hier staat

Nolorem is het antwoord op een terechte vraag van wie overweegt met mij te werken: heeft deze eenmanszaak eigenlijk al iets opgeleverd? Het is een productiesysteem met alle leidingwerk voor betalende klanten, van facturatie en quota tot achtergrondjobs en back-ups. Geen demo.