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. 105 posts so far.
The default was a text message
An automation came back with text-message steps nobody asked for. Why I swapped them for WhatsApp and made it a rule, not a fix.
Growing slower on purpose
Three weeks ago I narrowed what NexBDM talks about to two products. It cost reach on purpose. Why I would rather grow slower and know what I build.
Old conversations are not dead leads
Google sells database reactivation as an agency, a campaign or a blast. The people on that list asked you something once. They deserve a continuation.
Nobody searches for an invoice. They search for the gap between two apps
Six of fifteen searches for quote to invoice named somebody else's app. Nobody asked what an invoice is. They wanted the gap between two tools gone.
The name your customers see is not always the one you chose
My plan called it the green tick. Meta's page says blue. The colour was the small surprise, the name your customers see was the bigger one.
Counting what we actually use
A balance dropped and my morning report could not say why. Reading every line, not the two totals, explained it exactly.
Two plans wanted the same seven o'clock slot
Two of my own plans booked the same seven o'clock slot on the same accounts. I only saw it because both live in one planner.
Monday started and never finished
My daily marketing run started on Monday and never finished. One start line and one missing finish line showed exactly where it stalled.
My own plan told me to ask only the happy customers
My October plan titled today's post around asking happy customers for reviews. Google's own policy says that is not allowed.
Process mapping is not about the shapes
Fifteen search suggestions for process mapping, almost all about symbols and shapes. Why the shapes are the least useful part of the map.
The first online booking most of us ever made
The first two suggestions for online booking system were Home Affairs and SARS. What that does to what customers expect from you.
The labels I never asked for
My cover image came back with three labels I never typed. Why I now read every tool's output back against what I asked for.
Three of my own posts went out of date overnight
Three of my own posts went out of date when Meta's WhatsApp pricing moved. How I found them, and what I check now before I trust my own work.
Writing down how I run NexBDM
Every rule I run NexBDM on exists because something went wrong first. Three failures, three rules, and why a document was never enough.
The follow-up I automated for myself first
I automated my own follow-up before I sold one. A weekend of proposed drafts, one flagged bounce, and the line between the moment and the judgment.
The budget assumed I was the only one spending
My marketing budget assumed it was the only spender. It was not. What the gap taught me about records that are each right and still disagree.
My follow-up routine failed quietly on a Friday
My own follow-up routine stopped on a Friday and nothing told me. What caught it, and why a follow-up system must prove that it ran.
The list I stopped trusting
My content plan said 91 posts were live. The site said 94. Why I stopped trusting the list, and what a copy can never do that a record can.
The day replies stopped being free
The day WhatsApp replies stopped being free, I read Meta's own page before writing a word. What it said, and what I took from it.
Thirty days, one place to look
Month end, three questions: what shipped, what slipped, what changes. It took minutes, because every day of September wrote to one place.
I was pacing to the wrong month end
I told our system to use a monthly allowance in full. It paced to the 30th. The allowance renews on its own date. Why every business has a date like it.
The check said clean. It was asking the wrong question
A video went out with speech nobody had heard, because our check asked the wrong question. What changed, and why every business has this gap.
Eighty-nine posts and not one of them named what I sell
89 blog posts live and not one named what we sell. A library is not a shop. Why every post now points at NexBrand or the Business OS.
Thirty finished videos sat in a folder my system had never heard of
Thirty finished videos sat unused for two weeks because my own system did not know they existed. The fix was one plan, not more searching.
The four questions I ask before anything gets called AI
The decision tree behind today's RPA vs AI post, written down: four questions, in order, and the one place I can prove I use it.
Heritage Day, and what a business actually inherits
A 1996 definition of heritage ends with four words I did not expect: together with their documentation. What that means for a small business.
My company cannot use the Small Claims Court
The Small Claims Court limit went up in August. One line in a Department of Justice guide says my company still cannot bring a claim there.
The invoice number that was live on two clients at once
The calendar said month end used to take me a week. I have no record of that. Here is the record I do have: the invoice number I picked by hand.
Working out what I am actually selling, again
The price of the model under most builds has an expiry date printed on it. That sent me back to the question I answered in August, and the answer held.
The follow-up rules I wrote after three months of sending proposals
The planned title needed a proposal count. I computed it, then applied my own no-pipeline rule from Monday. The five rules the register runs on instead.
The word people add to "ai contract review" is free
Three of the ten things Google suggests after "ai contract review" say free. Free is the plan whose terms you must read. My NDA was the clause I had not.
I checked whether anything I run is actually an agent
I call most of what runs my business unattended an agent. Lined up against the vendors' own definitions, none of them is one, and that is deliberate.
The handover rules I make my own AI follow
Five rules my own automation stops on, written one at a time, and the one that fired this morning before I had finished writing it for a chatbot.
What a quote has to carry before it leaves here
Seven rules a NexBDM quote passes before a client sees it: a number a script chose, figures that trace, two fixed lines, one gate, one PDF.
Every deadline I automated, and the one I still do by hand
The daily run, the watchdog, the inbox, the quote queue and 22 videos fire on their own. The one thing still done by hand: telling the system a thing exists.
Three months building in public: the numbers
77 business posts, 70 journal posts, 31 added to each in 31 days, two runs a day late. What month three changed, and the number I still cannot report.
The law caught up with the thing I was already doing carefully
The state withdrew its AI policy over invented references. My engine refuses a sentence not found in a page saved that morning. Same discipline, one hole.
The law on automated decisions is not machine-readable
I needed a script to read the Employment Equity Act. The official PDF is a photo, 28 pages and not one letter of text. The readable copy was unofficial.
The people searching for AI in marketing want a certificate, not a supplier
A keyword passed every liveness test I have. Then I read the ten suggestions beside it. They belong to people who want a course, not to business owners.
I could only read two of the three, and the post got better
I planned a three way comparison. One vendor sat behind a bot check I will not go around, and a second finding evaporated when I checked it.
I nearly published a true number that proved the opposite
I went to fetch the citation, not to check it. The number was correct and it is still in the paper. The test that produced it was removed over a year ago, and the argument it supported had reversed.
The deadline that wants my opinion, not my money
Five of the six sources I check every morning had not moved. SARS had, and the date it carried was not like any other date I have written about this year. It does not take a filing or a payment. It closes a window. I nearly filed it next to all the others, and then I went and looked at my own compliance calendar.
I keep every record and I still could not find one
I downloaded the Companies Act this morning. A previous run had already downloaded it two days earlier and left it on the same machine. Keeping is free. Finding is not, and I had never put a number on it.
The clients who bought the second thing, not the first
Nobody has ever bought the thing I put first on the page. The thing people can name is the symptom that got loud. The thing costing them cannot be named until somebody has looked.
The number that is not in the room
The Companies Act says a board resolution must be dated and sequentially numbered. The date is in the room. The number never is, and that turns out to be the line where I should stop automating anything.
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.