Journal
Build logs, experiments,
and what actually worked.
Real projects, real numbers, documented as they ship, by Heinoux Roux, AI systems builder and founder of NexBDM in South Africa. 60 posts so far.
The only index of my own work is the part I wrote for machines
To check whether today's post already existed, I did not read my sixty six posts. I read the meta descriptions. The field I write last, for a crawler, turned out to be the only summary of my own work I can actually use.
Everyone quotes the wrong section of RICA
The internet answers the call recording question with section 4, written for employees taping disciplinary hearings. The section that governs a business running an automated line is section 6, and it carries a duty section 4 does not.
A correction that only changes the body of the page is not a correction
I corrected a wrong post a week ago and only half of it landed. The body was right and the line under the title in search results still carried the error, which is the version most people actually saw.
Automation has a dependency order and almost nobody sells it that way
I put twenty-two of my own automation guides into a single order this morning and they did not sort by value, they sorted by dependency. Then I checked what the platforms actually charge for and found the same sequence arriving from the opposite direction.
A calendar makes every date look equally certain
I published a table of ten dates today and every row looked equally firm. One is a planning date the issuer itself marks provisional. Reading down the SARS timetable instead of across it, the opening date has moved eleven years running and the closing date has never moved once.
The most expensive cell in my content calendar is the empty one
Five of thirty-one rows in my August calendar say NEWS SLOT and nothing else. Today was one of them, it cost three times a normal row, and almost none of that was writing.
The advice I ignored, and the half of it I got wrong
My own tooling told me the same thing four times in five days. I did not act on it, for a reason that was factually correct and completely beside the point.
Building for a market that does not trust software yet
I published a post this morning whose limitations section was longer than its capabilities section. Then I went and counted how often I do that, and what it is costing me.
The rule I wrote in August did not fix August
I wrote a rule on 9 August to stop a failure repeating. This morning it repeated twice. The rule was fine. It just never reached the work that was already sitting in the queue.
I checked the source. I checked the wrong page of it.
I published that a cost was not coming. It is. The claim was on Meta's own site, one click from the two pages I read, on a page named after the thing I was researching.
The bug I left in a safety file overnight
I found the same defect in a second file while fixing the first one, and I did not touch it. Then the test I wrote to prove the bug existed came back clean, and it was the test that was broken.
Why I will not put a price in a blog post
A script blocks any NexBDM price from reaching a public post, and I wrote that script. The case against the rule is strong, it costs me readers, and I am keeping it anyway. Here is the actual reasoning.
I tell people to stop rebuilding reports. I rebuild mine by hand every day.
I published an article about killing the monthly rebuild, then opened a blank file and rebuilt my own daily log for the twenty third time in twenty four days. Half of it is assembly. Only half of it is worth writing.
I was right to hold the number back. My reason was wrong.
Six days ago I flagged a statistic as suspicious and wrote down why. This morning I found the source and the why was rubbish. The conclusion held. The reasoning did not, and it was sitting in the file marked verified.
I rebuilt something that had already been delivered
My register said a deal was stalling. The client had accepted eight days earlier. My notes said a document pack was outstanding. I had handed it over myself. The record only reads the channels it can see.
Working alone means nobody stops you typing the override
My own pipeline refused to publish a post yesterday. The proper fix took four minutes. The override took four seconds, and nobody would ever have known.
I rewrote the proposal three times in one afternoon
Three versions of the same proposal in forty minutes. What I got wrong by walking in with a finished answer instead of a sharper set of questions.
Hiring nobody: what I automated instead of a first hire
My publishing system did not run yesterday, and the thing that noticed was not me. What I actually handed to software instead of making a first hire, and the half of the loop I had assumed was closed.
A whole week fixing things nobody would ever see
Four repairs in a week, none of them visible to a reader. A helper that reported success while doing nothing, a scanned Act with the wrong section numbers, a date I had believed for two years, and a citation off by one.
The queue that could never drain
Two rules I wrote a day apart built a content queue that grows by one day every day and never empties. Nothing failed, every check passed, and the only thing that found it was counting.
The line I was drawing by feel was already in the law
I sat down to write my opinion about which customer service work a bot should handle. Then I read POPIA section 71 and found the same list, written in 2013. What that changed about the post, and about when taste is the expensive answer.
Two months building in public: the numbers
Sixty-four posts in thirty-one days, and the count is the least interesting thing about it. What month two actually produced was a method: go to the primary document. Three times in four days that turned up something the summaries did not have.
Why my newsletter does not send from my own email domain
Your domain does two jobs that pull in opposite directions: client correspondence and bulk sending. Mailbox providers score both against the same reputation. Why I split them, and why doing it late is so much more expensive than doing it early.
My dashboard was not lying. It was guessing.
For weeks my content dashboard found one outlier. I assumed that was the honest answer. It was not measuring anything. When I connected the official sources instead of reading public pages, one became twelve.
I made my pipeline smaller on purpose
A broken register made me read my pipeline line by line for the first time in weeks. I closed one deal, parked another and pushed out a third. The number got smaller and the forecast got honest.
Nine good posts added up to a bad month
Nine days of researched, accurate posts read back as one flat month. Every decision was defensible and the result was wrong. What that says about processes that judge items and never judge the shape.
Two good finds made me a worse reader
I found a third document defect this week, believed it for ninety seconds, and it was not there. What two good finds in a row did to how I read.
Why I publish the failure in the same week it happens
Five of the posts on this site exist because something broke. Here is why I write them within days, and what I still keep off the page.
The founder tax: being my own compliance officer, and the memo nobody sends
I sat down to write a guide on automating invoicing and found that issuing the invoice, not getting paid, is what starts the VAT clock.
I checked whether the source was authoritative. I should have checked whether it was current.
I almost published a figure several sources agreed on and no primary document supported. Then the official guide contradicted the official site.
Five days in, every keyword I planned had to be replaced
I planned a month of keywords and swapped all five so far on the morning they published. Today's did not even fail cleanly, which is worse.
I deleted the post twice and it was still live
Four delete calls. Four responses saying success. Zero posts deleted. The green tick you have not verified is not information, it is decoration.
The meetings that moved things were never the ones I chased
Twenty two external meetings in a fortnight. Two produced a second meeting. I had counted the first number for months and never counted the second.
I almost published a milestone that had not happened
I scheduled a two month milestone for today. The anchor post is dated 14 July, so the real date is 14 August. Nobody would have checked.
Arrangement was the whole product
I had eleven compliance guides already published and correct. Putting them in order today took most of the morning and was worth more than any of them.
I raised the alarm. Nothing was missing.
My own run log said two published posts had vanished from the sitemap. I went looking for them this morning. They had never gone anywhere.
I built the watcher. It ran, and it said nothing.
Days after I published a post about my automation skipping a day, it skipped another one. The monitor I built for exactly this had already run.
Compliance is not a certificate you hold. It is a question somebody asks about you.
I read how tax compliance is actually verified in South Africa, and found the thing I thought I was collecting no longer exists.
Ten compliance guides in, I found the chain nobody draws for you
I did not set out to write about compliance. Ten guides later there is a pattern I did not expect, and it changed what I think compliance is for.
I published every post twice and told Google both were the original
Two domains, one blog, and a canonical tag on each page pointing at itself. A build log about duplicate content I created without ever deciding to.
The day my own automation missed a day
I built a system to publish my marketing without me. It skipped a day and did not tell anyone. What that taught me about the difference between a schedule and a system.
The customer data I was keeping for no reason
I went looking for what my business actually stores about people, and found years of information I had no reason to keep. What that audit changed about how I build.
The invoice I almost did not send
The work was done and the invoice was written, and I still sat on it. What that hesitation taught me about founders, money, and why asking to be paid is part of the job, not a favour you are asking for.
Nobody told me I would become my own bookkeeper
For years a finance team I never met turned my work into a clean number every month. Then I left, and the books became mine. What owning my own records taught me about seeing the business clearly.
The day I told a client not to hire me
A prospect arrived ready to buy a build. The honest answer was that they did not need it yet. Saying so out loud, and losing the sale on purpose, changed how I sell everything since.
I stopped shipping features and started reading the law
For a while the fastest way to improve our products was not writing code. It was reading ECTA, the VAT Act, the BCEA and FICA properly, and finding out how many of my assumptions were wrong.
Pricing My First Automation Build
I priced my first automation build by counting hours, because hours were the only thing I could see. Here is why that was wrong, the question that changed the number, and the three mistakes I would have made again.
Motion Is Not Progress: Why I Chose Partnerships Over the Numbers Game
For weeks I measured my days by how busy they looked. Then I had to choose: forty cold calls a day for single sales, or fewer, deeper partnerships. Here is why I chose partnerships, and the trap I almost fell into.
Why every SA SME needs an ops autopsy before buying AI
The most common question I get is which AI to buy. It is the wrong question. Buying a tool before you understand your own operation just automates the mess faster. Here is why I map the work first, every time, and why I wish I had done it sooner in my own business.
The day the geo-redirect ate my Google rankings
A build-log from fixing our own SEO. One redirect, meant to send international visitors to the right site, was quietly bouncing Google's crawler off our South African domain. I could not see it, because I live in the one country it never triggered for.
I built my business backwards
A snippet from my founder journal. Before I resigned I had the company registered, a website up and a logo, and I had not spoken to a single customer. Here is what that taught me about where proof actually lives.
How I use AI agents to run my own marketing
An AI agent writes and publishes most of what goes out under my name. Here is honestly how that works, what it is genuinely good at, the two mistakes it caught this week that I would have shipped, and the part I will not hand over.
One month of building in public: the numbers
About a month into keeping this journal in the open, here are the numbers. Not the ones you might expect. I share what I have published and what I have learned, and I keep the money private on purpose. This is why.
The two kinds of doubt every founder faces
A snippet from my founder journal. Week two on my own, no signature yet, and I could not pick up the phone. This is about the two kinds of doubt, why the quiet one is the dangerous one, and the wall of borrowed wisdom I built before I needed it.
Building NexCRM: what I got wrong first
A founder build log. I set out to build a CRM for South African small businesses and my first instinct was to add features. That was the mistake. Here is what I got wrong building NexCRM, and the one question I should have asked before writing a line of it.
What a 4-hour Business Autopsy actually looks like
A founder's walk-through of the deep Business Autopsy: four hours, no laptop demo, no selling. Just a room, a whiteboard, and an honest map of where a business loses time and money before anyone buys a thing.
The first client who said no, and why I am grateful he did
A founder's journal: my first real prospect turned me down flat, the honest reason why, and the three things that no taught me about selling automation that a yes never would have.
Build log: fixing the SEO bugs that hid our own site
A founder's build log. We sell systems that make businesses easier to find, and for a while our own site was quietly hiding from Google. Here are the three bugs that did it, how I found them, and what they taught me about shipping in a hurry.
The morning I audited my own business and did not like the numbers
A founder's journal: the morning I ran a business autopsy on my own company, what the numbers actually showed, and why looking was the hardest and most useful thing I did.
Building a Cinematic AI Portfolio with Seedance 2.0: Full Case Study
How I built a scroll-scrubbed cinematic portfolio with Seedance 2.0: identity-locked AI video across three clips, a 121-frame canvas hero, and the production bugs nobody warns you about. Real numbers included.