Set up your account
accent · auto
You can set up and run a seeding channel today. Live selling and product recommendation stay locked until one is assigned.
A crop-science company sells through wholesalers, who sell to local retailers, who sell to farmers. The retailers were already posting on TikTok and going nowhere. I ran the research to find out why, then built live channels to test what actually moves a farmer.
The company sells to the wholesaler, who sells to the local retailer. Only the retailer meets a farmer. So demand created at the far end has to travel back through three sets of incentives before it looks like revenue, and TikTok sits outside all of it.
The brief implied retailers couldn’t make content, and several had been producing steadily for months. When we asked what happened after they posted, four things came back.
What the algorithm rewards, when to post, why one video reaches ten thousand and the next reaches forty. They were treating it like a noticeboard.
A farmer who wants the product has to work out who posted it, where they are, and how to reach them. Most don’t bother.
Templates handed down from a national team, in a register that reads as an outsider. Farmers scroll past it.
Nothing connects a view to someone walking in. Without that, posting is a favour to head office rather than a thing worth doing.
A farmer sitting opposite a multinational agrees with the multinational. We went to where they already were, in formats they were already comfortable with, and we handed the room to someone local. The workshops happened later, with the field teams, once we had something to analyse.
We wanted to know two things. Can farmers tell AI content from real content, and what gives it away.
So we made a recognition test, several versions of the same material with different tells, and a conversation afterwards about which cues they noticed. Most of them clocked it, which I expected.
What I hadn’t expected was that it didn’t bother them. The reasoning was consistent across sessions: it looks realistic enough, it feels local, and it tells me something useful. Farmers gave three reasons and none of them was about who made the video.
We had been treating authenticity as the thing to protect. Asked why they preferred the localised version, farmers said it sounded local.
We broke localisation into parts a pipeline could set, vary and test independently.
Farmers named a capital-city accent as a reason they scrolled past. This was the single strongest lever we found.
Rầy nâu, not Nilaparvata lugens. One unfamiliar word and they are gone.
Friendly, often funny, sometimes argumentative.
Dress and setting came up alongside accent in the reasons farmers gave.
Generic beds get skipped. The audio shortlist refreshes from trend signal rather than a brand library.
Not a piece to camera. The opening decides whether the rest is watched.
Each channel stores six settings, and every asset it produces inherits them. That is the difference between one national voice that reads as an outsider and a local one per province at roughly the same cost, and it is the whole reason this scales to eight markets.
Too many variables to test one at a time, one season, and no appetite for a study that produced a report instead of growth. We had permission to build real channels, so the test channels were live and produced growth as well as results.
Two identical channels do not grow identically, so we ran conditions across cohorts rather than pairs, and set a noise band first using channels running no condition at all.
A great hook on a channel with the wrong accent still fails. Tested separately, the factors gave effects that did not hold when combined. Grouping into categories measured them at the level they actually operate.
A full factorial would have taken longer than anyone would wait, and most cells would have been uninteresting. Weight the categories first, then spend the precise tests only inside the one that moved.
Recognition test across formats, plus the AI question asked directly after the material rather than before it.
Farmers spot AI and don’t object, provided it feels local and tells them something useful.
Stopped investing in realism. Redirected that effort into accent, vocabulary, music and tone. Avatar likeness went to the constraint layer rather than the roadmap.
Two-stage factor test on live channels, cohorts rather than pairs, noise band established from unconditioned channels first.
Localisation moves growth more than any other category. In the within-category test, accent ranked above vocabulary, music and appearance.
A channel became a localisation profile, six parameters stored against it and inherited by every asset. Regional voice per market rather than one national voice.
Retailer interviews about their own channels, and what happens after a farmer comments.
They post enough. They lose people at the point of wanting the product, because nothing tells the farmer where to go.
The call to action became a working component rather than a line of copy, named shop, QR, comment routed to a thread with the context attached.
Growth volume needed, measured against what TikTok tolerates before an account looks automated.
Below ten posts a day the channels did not grow. Above thirty, or at regular intervals, accounts were flagged as automated.
Human touchpoints and jittered timing built into the pipeline. Human touchpoints were in the pipeline because TikTok flags accounts that post without them.
One account kept coming up. The reason turned out to be that the AI avatar resembled a well-known local figure. It was a private channel, and we obviously couldn’t generate a presenter who resembles a real person.
The finding could not be used. It went into the guardrail conversation instead, and it’s the reason likeness ended up explicitly restricted in the constraint layer.
Farmers talk at length about channels they enjoy, and a lot of it connects to nothing you can build. I treated that as noise for the first few sessions.
The channel-by-channel enthusiasm was where localisation first showed up, even when the specific reason given was unusable. The discipline was separating what we learned from what we were allowed to do about it, and holding the second conversation later with legal in the room.
A farmer with a phone was already there. Part II is the machinery that produced that video, and the single point in it where a person has to stand.
The research found that localisation moved farmers and that the call to action was broken. This part is how that became a working system. what each tool does, where the human sits, and why the architecture looks like this rather than one model doing everything.
Drawn as a blueprint because the interesting part is the distance between a farmer tapping a video and a retailer knowing they exist. Everything below the second line was invisible before.
Each tool here is doing the narrow thing it is good at. The joins are what took the longest to settle. what gets passed along, what gets held back, and where a person can stop it.
Each of the six parts of localisation had to become a parameter with a tool behind it, otherwise it stays a workshop finding.
Accent ranked first in the within-category test and took the longest to build. A national voice model gives you the capital city, which reads as an outsider in the delta. Switching from a national to a regional voice produced the largest measured change.
Vocabulary needed a lookup rather than a model instruction. Left alone, the model reaches for the scientific term. So the pest lexicon sits outside the prompt as a table, per region.
Set the region and the crop, and everything downstream inherits it.
Retailers were losing farmers at the point of wanting the product. The old version ended with something like “contact us”. The farmer then had to work out who “us” was, where they were, and how to reach them.
The awkward part of testing on real channels is that TikTok is not a controlled environment. The algorithm moves, seasons move, and a single viral post can swamp a week of careful work. Here is what we did about that.
Because two identical channels do not grow identically, single-channel comparisons prove nothing, and any test needs several channels per condition and a tolerance for noise.
We ran conditions across cohorts rather than pairs, and treated anything inside the noise band as no result.
A great hook on a channel with the wrong accent still fails. Testing factors independently would have given us a set of effects that don’t hold when combined.
Grouping into categories first meant we measured the thing at the level it actually operates.
A full factorial would have taken longer than anyone was going to wait, and most of the cells would have been uninteresting.
Weight the categories, then spend the precise tests only inside the one that moved.
Generation is the obvious use. Plenty of tools make video. What happens after publishing changes what gets drafted next.
A comment tells you a pest is showing up in a province. A watch-through curve tells you the hook worked and the middle didn’t. A call to action left unfollowed shows the end card is wrong for that region.
All three feed the same place, and the model uses them to decide what to draft tomorrow.
A person closes the loop by deciding. The system does not act on its own reading.
Most of the design work in a pipeline like this is in the handoffs. These are the ones that took the longest to settle.
| Join | What passes | What deliberately doesn’t | Why |
|---|---|---|---|
| Signal → Claude | Topic, region, crop, spread of the signal | Raw engagement counts | A loud trend and a real problem are different things. Passing the volume made the model overclaim. |
| Claude → ElevenLabs | Script, register, pacing marks | Anything unreviewed with a claim in it | Once it has a voice it sounds finished, and finished things get published. |
| Claude → assembly | Scene list, footage tags, caption text | Product names in the visual layer | Visual product placement is a regulated claim in several of these markets. |
| Assembly → check | Rendered draft, plus what the model was unsure about | An automatic pass | The uncertainty flag is the thing that makes review fast enough to survive. |
| Check → n8n | Approved asset, channel, earliest post time | An exact schedule | Exact schedules look like a bot. n8n jitters the timing itself. |
| Comments → routing | Intent class, province, video context | Any generated agronomic answer | The system opens the door. The retailer walks through it. |
Eleven surfaces went live. All but one generate or manage content; the one that routes a decision to an expert was never built. This part sets out where the intelligence belongs. six capabilities that make the system learn per region and cost less with each market.
These went live during the sprint or were specified for the vendor build. The last column is what I would say about each one now, with the benefit of having watched them get used.
| Surface | State | What it does | What I’d say about it now |
|---|---|---|---|
| Onboarding | Built | Country, language and role. Personalised views for retailer, service and content teams. | Role selection is where governance should start. Who can approve what belongs here, not buried in a settings page. |
| Trend analytics | Built | Pest, disease, treatment and competitor mentions. Audience matching by influencer, keyword and region. | It follows trends. The version that matters gets ahead of them — see capability 03. |
| Virality Lab | Built | Content suggestions with a score, recommended music, posting time, tone and length. | The score was never validated against anything commercial. A number on a screen becomes a target within a week. Replace it or remove it. |
| Channel dashboard | Built | Portfolio view across channels with stage, followers, engagement and per-channel detail. | Stage should gate capability rather than describe progress. A channel without a named expert shouldn’t be able to go live. |
| Growth automation | Built | Each channel as a micro-brand. Goals, repost and engagement recommendations, channel settings. | The localisation profile belongs here. It currently holds settings; it should hold the six parameters and inherit them downward. |
| Content creation | Built | Five ways in, from an agronomist voice memo to a structured brief. Under five minutes to a finished video. | The strongest thing we built. Also where the exaggeration hook shipped, which is the thing I’d take out first. |
| Media library | Built | Upload, auto-tagging by crop, pest, disease and treatment. | Nothing tracks rights on scraped footage. That needs solving before this scales past pilot. |
| Content library | Built | Everything published, filterable, remixable, with per-post performance. | Remix lineage is missing. You can’t trace a claim back to the source it came from, which you need the first time someone asks. |
| Funnel conversion | Built | Six stages with AI-generated tasks per stage, lead list, CRM integration, local platform links. | The stages are right. The handover into Zalo and LINE is the part that decides whether any of it works. |
| POS tools | Built | QR inventory, discount and voucher codes, redemption tracking. | This is the only attribution we get. It deserved more attention than it received, mine included. |
| Review queue | Not built | Consequence-ranked queue for claims that need an agronomist. | The gap. Everything above assumes an expert who currently has no way to intervene. |
We spent a season learning that localisation beats everything else. A register that works in one province does not necessarily work in the next, and audiences shift between seasons.
Doing it by hand again in eight markets is not realistic. So the experiment becomes part of the machine: each localisation variant is an arm, posting volume is the budget, and the system reallocates nightly toward what is working in that specific province.
The important design decision is the reward. Optimise on engagement and it optimises for whatever holds attention, which is not the same as what sells. The reward has to include what happens after the video, did anyone open a thread, did the code get scanned.
A person sets the arms and defines the reward.
Picking “Vietnamese” gives you a Hanoi voice, and in the Mekong Delta that is the capital-city problem again one level down. If accent is the strongest lever we found, it deserves to be a measured property rather than a menu.
By the time a pest is trending on TikTok, the same video is being made across the country and the farmers who needed it acted a fortnight ago.
It is in the comments, the same question appearing from the same three districts before anyone has posted about it.
So instead of ranking platform-wide mentions, cluster incoming comments and searches by province and crop, and watch for a cluster that is growing where it wasn’t. Then cross-check against the agronomic calendar: a rise that matches expected pest pressure for that week gets weight, one that doesn’t gets flagged as noise or as something worth a human look.
This is the difference between a content tool and an early-warning one.
Both of these replace something we shipped with a weaker version of it. Both make a judgement call testable, which is what either needs to survive eight markets.
The constraint layer we built with legal prevents the model from saying certain things. A prohibition cannot be tested on each generation, and a longer prompt gives it more surface to fail on.
The stronger version treats it as retrieval. A claim in a draft has to resolve against the registered label for that province or an approved technical document. Anything that can’t resolve is stripped or sent to review. Product registration varies by province, so this also solves a problem we had no answer for.
Compliance becomes a pass or fail on every generation, with a log.
The Virality Lab put a percentage on a suggestion. We could not say what it predicted and it was never checked against anything commercial. It shipped anyway, and people began treating it as a target.
The replacement is narrower and honest: a model per region trained on that region’s own watch-through, saves and thread-opens. Score a draft against the audience it is actually for, and report the uncertainty alongside it.
Where there isn’t enough regional data, it refuses to produce a number rather than inventing one.
The handover from comment to retailer is still manual, and it is the step where most of the value leaks. An agent can hold that gap, provided its job is drawn tightly enough.
It opens the thread, confirms province and crop, works out which retailer stocks the thing, and hands over with a summary of what the farmer already said.
It does not diagnose. It does not name a rate. The moment the conversation turns agronomic, a diagnosis, a rate, an unregistered product. it stops and fetches a person.
The agent only does what it can do without error, because a wrong agronomic answer costs more than a slow one.
Expansion to eight markets was done the expensive way. New channels from zero, new voices, new content, and the learning curve paid again each time. That works once.
Crop mix, pest pressure calendar, platform behaviour, language family, retailer structure. Computed from data already held, not estimated.
A new province starts with the localisation priors, hook patterns and content calendar from the market most like it, rather than from nothing.
The inherited settings are a starting position, not an answer. Capability 01 pulls them toward what actually works locally within weeks.
Voice bank, pest lexicon, registered product list and local music. Everything else carries across.
Not quarters. Each stage exists because the one after it can’t be trusted without it.
| Stage | What gets built | Why it has to come first | What it makes possible |
|---|---|---|---|
| Now | Review queue. Remove the exaggeration hook. Retire the virality score. Rights tracking on library media. | Everything downstream assumes an expert can intervene, and right now none of them can. | Permission to increase volume without increasing exposure. |
| Next | CTA as a component — end card, comment routing, thread context, QR at the counter. | Without a measurable step between view and conversation, no reward function points at revenue. | The reward signal that capability 01 needs to exist at all. |
| Next | Claim resolution and the regression suite. | Automated allocation on unverified claims multiplies a compliance problem instead of a content one. | Safe to let the machine decide how much of anything to publish. |
| Then | Continuous factor allocation. Voice bank with dialect distance. | Needs the reward from stage two and the safety from stage three. | Localisation tunes itself per province instead of per season. |
| Then | Leading-indicator listening. Regional audience models. | Both need enough regional history to be worth anything. | Content that arrives before the trend, and a score that predicts something. |
| Later | Handover agent. Cross-market transfer. | The agent needs claim resolution. Transfer needs several markets’ worth of learned priors. | Market nine at a fraction of market one, and a thread that opens in seconds. |
An argument about registers and constraints only counts once it is a screen someone taps at the end of a working day. What follows is what shipped, and what should have.
These are the surfaces from the shipped product, redrawn. The change running through all of them is the same: wherever the system did something on its own, the screen says so, says which agent did it, and says whether a person still has to confirm.
Name, user type, country and language. Four roles: admin, retailer, service team, content team.
Role became a permission model. The market panel checks for a regional voice and a named agronomist at setup, so blockers surface before a channel exists.
accent resolves the nearest regional voice automatically. Everything with commercial or agronomic consequence is marked never.
You can set up and run a seeding channel today. Live selling and product recommendation stay locked until one is assigned.
FYP simulator matching influencers, keywords and regions. Top trends, keywords, followers and farmer leads. Emerging pests, diseases, treatments and competitor products. One-click video from trending data.
Local pest names lead, scientific names sit behind them. Every signal carries how far it has spread and whether anything corroborates it.
scout clusters and ranks continuously. One-click generation stays, but a narrow signal drops it to drafted instead of auto.
Volume is concentrated in three large accounts. Generation is drafted rather than automatic until an agronomist confirms.
AI recommendations for viral video with a virality score, trending music, best posting time, region-specific tone, crop and pest themes, length and CTA suggestions.
The recommendation set is unchanged and good. The score is now trained per region, states what it predicts, and carries an interval.
dial reallocates posting budget nightly across variants. Where a province lacks history, no number is produced at all.
A number from 41 posts would be invented, and a number on a screen becomes a target within a week. Publish unscored and it turns on by itself at around 200 posts.
Five inputs: voice memo, remix, article, trend, structured form. Under five minutes to finished video. Faceless with voiceover or a generated presenter. A live request queue with succeeded states.
The queue and the five inputs stay. The opening-hook control loses the exaggerated number and the polarising statement. Every line traces back to a timestamp in the source.
accent sets voice and vocabulary from the channel. ward reads every claim and decides whether it can ship.
"Rầy nâu đang xuất hiện sớm hơn mọi năm ở ba tỉnh. Bà con nên ra ruộng kiểm tra gốc lúa tuần này."
Cannot be scheduled until cleared. Queue is four hours. Everything else in this draft is ready to render.
A/B goals such as 1,000 followers in 30 days. Recommendations on what to repost, which comments to turn into video, who to follow. Channel settings for accent, tone, crop and segment. Live stream kit with scheduling.
The follower goal is demoted. The gate to live is a named expert and an answer rate, not audience size. Posting cadence shows the band between too slow to grow and flagged as a bot.
dial spends the daily post budget across variants and jitters the timing so the account reads as a person.
Volume high enough to grow, irregular enough to look human.
The deck used 1,000 followers as the gate. Two of these four are about capacity to answer, not audience size.
Upload images or video. AI auto-tags pest, disease, crop and treatment type. Faster search and video creation.
A source and rights column. Seeding used web-scraped footage and nothing tracked where any of it came from.
Tagging stays automatic. Rights are a property of the asset, so restrictions travel with the file into every generation.
All published content across channels. Filter, remix, repost or reassign. Performance metrics per post. Four content creation methods in a modal.
Lineage. A remix of a remix of a voice memo now shows that chain, so any claim can be traced to the mouth it came from.
When a source claim is corrected, every descendant is flagged automatically rather than quietly continuing to circulate.
Two descendants flagged automatically. Neither has been reposted since.
Awareness, prospect, lead generation, contact, follow-up, action. AI-generated tasks at every stage. Lead engagement list, CRM integration, order form and pricing upload. LINE, Zalo, WeChat and WhatsApp.
The tasks stay. Three stages now carry a real mechanism instead of an instruction, the end card knows the shop, the comment opens the thread, the thread carries context.
usher opens threads and routes by province. It stops the moment a question turns agronomic.
"Lá lúa bị vàng đầu, có phải đạo ôn không?"
The retailer picks it up with the photo attached. Escalates to the agronomist if they ask.
Generate QR codes for inventory, discounts and vouchers. Batch numbers and quantities. Voucher statistics, issued, redeemed, total value, redemption rate. Bulk generate and export.
Codes are issued per channel, so a scan attributes back to the video and province that produced it. Registration is checked against the province of the scan.
Attribution runs automatically. An unregistered product warns at the counter before the sale rather than surfacing in a compliance report later.
Warn before the sale. Registered alternative offered automatically.
Manage growth across seeding, growth and live. Filter by crop, stage and followers. Quick stats and performance summary. AI recommended actions to grow channels.
Each row carries a readiness bar and the specific blocker. A channel can be growing well and still be locked, and the screen says which of the two it is.
The fourth metric card is amber on purpose, threads opened at 3.6% of reach is the weak step, and the dashboard leads with it rather than with follower totals.
Rice Farming Expert TH meets the audience threshold but has no agronomist named against Chiang Rai. Live selling and product recommendation stay locked until one is assigned. growth alone does not open them.
The screens so far make things. These decide things, and each exists because of something the research found or the build got wrong. One of them, the review queue. should have shipped in the first release. The other four are where the system stops being a content factory.
Support was a column in the first workflow diagram with nothing under it, survived into the second concept, and vanished from the build spec. Everything else assumes an expert can intervene.
Orders by consequence first, then by how long a farmer has waited. Rate, timing and diagnosis always land here regardless of model confidence.
Escalation triggers on consequence, not on low confidence. A confident wrong answer would never escalate under the original design.
"Likely nitrogen deficiency at this stage. Consider a foliar application."
Tip yellowing at 40 days matches nitrogen deficiency, bacterial leaf blight and water stress. The model is confident and the three responses are different. Consequence, not confidence, decides.
Localisation beat every other factor category, and accent carried most of it. Picking "Vietnamese" gives you a Hanoi voice, which in the delta is the capital-city problem one level down.
Voices contributed by field teams, indexed by province. Selection is a measured distance to the target audience's speech, not a menu choice.
Matching is automatic. Where nothing sits close enough it says so rather than falling back, a wrong accent is worse than a neutral one.
Below the 0.20 threshold. Applied to every asset this channel produces.
Nearest contributed voice is 0.44 away. The system will not substitute the national default. Recruit a local contributor or publish faceless with captions.
Trend analytics tells you what already happened. The farmers who needed that content acted a fortnight ago and every channel in the country is now posting it.
Clusters incoming comments and searches by province and crop, and watches for a cluster growing where it was not. Cross-checks against the agronomic calendar.
Detection is automatic. Acting on it is not, an emerging cluster with no seasonal basis goes to an agronomist before any content is drafted.
Geographically spread, seasonally plausible, and not yet being posted about.
The topic is already saturated. No advantage in adding to it.
Fast growth with no seasonal basis is either a new problem or a misidentification. Both need a person before anything is published.
The agronomy team asked for access to this screen before the commercial team did. Early clusters are the only part of the platform that produces something the company could not already buy, a read on what is happening in fields, ahead of the field force.
The hidden prompt layer we built with legal stops the model saying certain things. Prohibitions are hard to test and easy to route around as prompts get longer.
Every claim resolves against the registered label for that province or an approved document. What cannot resolve is stripped or routed. Registration varies by province, which was previously unanswered.
Resolution runs on every generation with a log. A nightly red-team suite runs against the constraint layer and a failure blocks the deploy.
The features stayed and the floor moved up. Legal co-designed the constraint layer rather than reviewing output, which is a far better use of them and the reason this scales past one market.
The factor test cost a season and the answer is already going stale. Audiences shift, sounds change, a register that lands in one province drifts in the next. Doing it by hand across eight markets is not realistic.
Each localisation variant is an arm, posting volume is the budget, and allocation shifts nightly toward what works in that specific province. An exploration floor stays on the others.
A person sets the arms and defines the reward. The machine only decides how much to spend on each. The objective is not automated.
The losing arms keep a slice so the system notices when the audience shifts. Convergence without a floor is a trap.
Reward views and it finds rage bait within a fortnight, and it will be right to. Only a person can change this.
The product works in one province. Whether it is a business depends on how little has to be rebuilt for the next one.
Expansion to eight markets was done the expensive way. new channels from zero, new voices, new content, a fresh learning curve each time. That works once.
What makes it a business is the part that accumulates: the data the platform accumulates, and the capabilities that only become possible once you hold it.
Four datasets accumulate as a by-product of running it, and each is the precondition for a capability further down this page.
None of it was the point of the project.
Every comment classified, clustered and dated. A running map of what is worrying people, district by district, ahead of the field force.
Which accent, vocabulary, music and tone hold attention in which province. The output of every night the allocator runs.
Every queue item an expert approved, corrected or rejected, with the reason attached.
Comment to thread to scan, with the post, province and crop attached. The only chain in the whole system that reaches a transaction.
A new province inherits localisation priors, hook patterns and a content calendar from the market most like it, then the allocator corrects them within weeks. What has to be built fresh is a short list, and that list is the real cost of a market.
For the first market the service was a small central team producing everything and handing finished channels to retailers. A central team producing everything works for one market. it puts a headcount ceiling on the whole thing.
Not quarters, and not a wish list. Each band needs the one before it. the review queue produces the corpus that raises the auto line, the call to action produces the reward signal the allocator needs, and demand sensing needs a year of both. Rows are drawn worked where the ground is already broken.
| Band | What gets built | Why it comes first | What it makes possible | Needs |
|---|---|---|---|---|
| Now 0–6 months | Review queue. Call to action as a component. Claim resolution and the nightly regression suite. | Ten surfaces assume an expert can intervene and none let one. And with no measurable step between view and conversation, no reward function points at revenue. | Permission to raise volume without raising exposure, and the reward signal everything later depends on. | Nothing. Buildable today. |
| Next 6–18 months | Allocation console. Voice bank with dialect distance. Early signal from clustered comments. | Automated allocation on unverified claims multiplies a compliance problem rather than a content one. | Localisation tunes itself per province instead of per season, and content arrives ahead of the trend rather than chasing it. | The reward from band one, plus regional history. |
| Later 18 months + | Demand sensing. A raised auto line. Counterfeit listening. Retailer-operated, model-supervised. | Each needs a year of the datasets in section 36 — around 5,000 reviewed decisions and two seasons of attributed scans. | The platform becomes a forecasting input rather than a marketing cost, and expansion stops being headcount. | Everything above, held stable for a year. |
The one that changes what the platform is for is demand sensing. farmer intent clustered by province, ahead of order data. The one that changes what it costs is raising the auto line, because every agronomist decision in the queue is a labelled example, and review capacity caps how much can be published.
Plan view of what is actually running. Routing runs in its own channels rather than following the geography, because the platform relationship is logical, not physical. Đắk Lắk is crossed out, no contributed voice sits close enough, and the system will not substitute a national one.
The platform was a product, a demand-generation programme and a wholesaler incentive at once. Each gets judged differently, and one number covering all three would not have answered any of the five questions.
| Who is asking | What they want to know | What we could measure | Status | Closed by |
|---|---|---|---|---|
| Commercial | Cost to sale against channels already paid for | Cost per view and per conversation. The step from conversation to counter stayed offline. | Partial | Intent-to-counter chain |
| Wholesaler | Is the rebate worth having, does it move my volume | Rebate perception, platform access as a reason to buy more | Framed only | Never tested |
| Local retailer | Am I better off than running my own channel | Growth against their own baseline — several had one | Measurable | Already closed |
| Brand | Are farmers engaging with us, and where | Reach, watch-through, comment type, follower distribution by province | Measurable | Already closed |
| Legal | Can anything here embarrass us | Constraint coverage and a log of what the model refused to produce | Measurable | Claim resolution log |
Most of it measurable, one partial, one untested. Fair for three weeks, and the reason the call-to-action work outranks everything else — every unmeasured thing sits on the far side of that one broken step.
Every part of this pipeline that makes something is becoming a commodity. What holds value is the part that learns, which voice lands where, which claim can be defended, and which conversation is worth a person’s time.
None of those are generated. They accrue from running the platform and reading what comes back.