Nolorem
Researched content with sources, not invented text
Visit NoloremWhere the name comes from
Lorem ipsum is filler. It looks like language, it fills a page, and it means nothing. That is close to what most AI writing tools produce: fluent paragraphs that sound plausible and leave you with nothing on a second read, or worse, that carry a number which came from nowhere.
Nolorem is built around refusing to do that. A post starts from real sources rather than from the model's memory. Every claim carrying a figure or a quotation gets a reference, and anything that cannot be traced to a source which actually supports it is held back instead of published. No filler, no hallucinations. Hence the name.
The problem it was built for
Bonalogic needed content. Not because content is interesting, but because a business without it is invisible. The work is genuinely demanding: research a topic properly, write something worth reading, find or make images, pick keywords, publish, then do it again next week. Every hour spent on it is an hour not spent building software.
The available tools each solved one slice. A writing assistant that produces plausible text with no idea what you already published. A scheduler that posts what you give it. A keyword tool that hands you a spreadsheet. Stitching them together by hand turned out to be its own part-time job.
So Nolorem started as a private tool: one pipeline that goes from "here is my subject area" to "here is a scheduled, illustrated, sourced post", with a human reviewing rather than assembling.
What it does

Research before writing. This is the part most tools skip, and it is the part that decides whether the output is publishable. A verification pass reads generated claims back against their sources and holds the ones that do not survive.


Blog and social from one plan. A blog post gets repurposed into social posts that stand on their own rather than reading like a link dump. Campaigns tie a run of posts to a single theme so the output has a shape instead of being a stream of disconnected articles.

Seven interface languages, more for content. Multilingual was a requirement from the first week, because the audience is not only Dutch-speaking. Translation happens at the content level, not by running the page through a widget.
It publishes where you already are. Connectors push finished posts into an existing site, WordPress and Drupal among them, instead of demanding you move your blog.

What I ran into
Fact-checking is the hard part, by a wide margin. Getting a language model to produce fluent text is trivial. Getting it to only assert things a cited source actually supports is not. Most of the engineering effort went there, and nothing else moves the quality needle nearly as much.
Quotas turn out to be a product decision, not a technical one. How many posts a plan allows sounds like a config value. It is not: it interacts with how many blogs an account has, whether a deleted post frees its quota, and what a trial should demonstrate. Getting this wrong is invisible until a customer hits a limit that contradicts the pricing page.
Self-hosting changes the architecture, not just the deployment. Running the whole stack on my own infrastructure means confidentiality is a property of the system rather than a promise in a contract. It also means every operational problem is mine. That trade is worth making, but it is a trade.
Why it is here
Nolorem answers a fair question from anyone considering working with me: has this one-person shop actually shipped anything? It is a production system with all the plumbing a paying customer implies, from billing and quotas to background jobs and backups. Not a demo.