Build notes › topic
Consent
Opt-in, opt-out, and the code paths that decide whether a person's refusal is recorded at all. Consent that fails closed, and the places it nearly did not.
Covered here: self-deployed WhatsApp CRM · 24 hour service window · abandoned cart WhatsApp · BYO payment gateway · consent management · intent routing collision · marketing consent ledger · partial payment · Razorpay payment link WhatsApp · STOP keyword
-
8 August 2026 · consent
The WhatsApp opt-out that almost got a sales pitch
We sell Klaros inside a WhatsApp thread, which puts our own sales code in the same inbound path that decides whether somebody's opt-out gets recorded. The pricing intent matches
pricing; "stop sending me pricing" contains it. And because a handled sales message suppresses the consent check, losing that fight would not have meant a tactless reply. It would have meant the opt-out was never recorded at all. The guard, the same rule applied four times, and the gap we found while writing this: a politely worded opt-out is still heard by nobody. -
4 August 2026 · engineering
Five guards on automated WhatsApp payment requests
A sequence, a rule, a completed Flow or a customer typing "how do I pay" can all produce a real payment request in the thread. Building that took a day. The rest of the work was the five things it must refuse to do: a consent check that fails closed, a duplicate-ask guard that once answered "already requested" forever about someone never asked, an oversell guard found willing to sell one ring to fifty people, a closed 24-hour window, and a ₹500 advance that used to mark a ₹2,500 order paid and shipped.
-
In progress
The half of a sale that nobody demos
Every platform shows you the payment landing. Almost none show you the twenty minutes afterwards: who gets told, who packs it, what the buyer hears while they wait, and what happens when it ships four days later and the messaging window has closed.
-
In progress
Where the ask ends and the shop begins
A payment request is messaging machinery. A product library is a commerce application, and the part most likely to be replaced by a real one. On finding that seam in our own code, and making it a documented extension point instead of a function that happened to sit in the middle of a file.
-
In progress
What a feature looks like when nothing consumes it
Contact limits computed on every request and enforced nowhere. A tier ladder that is marketing copy at runtime. On the difference between building a capability and shipping one, found in our own codebase.
Get the next one on WhatsApp
Message the line and type NOTES. The latest one comes straight back, in the same thread, from the number that sends everything else. Reply STOP whenever you like and it stops.
Send NOTES on WhatsAppAsk our WhatsApp number what it costs
The most honest demo we have is the purchase itself. Message the line and type pricing: you will get our live catalog as a WhatsApp list, real remaining slots, and a payment link on whatever you tap. Buy the self-deployed licence and your signed key arrives in the same thread, for infrastructure we cannot reach. You are experiencing the product before you own it.
+91 97893 77634 · you message first, so nothing reaches you without your say-so.
