←All work Social-Commerce-as-a-Service Crop science

Farmers didn't mind the AI. They minded the accent.

A crop-science multinational was struggling to turn retailers' high-volume TikTok activity into farmer engagement or product demand. Across its fragmented distribution network, shops were posting frequently but followers stayed almost flat, even though smallholder farmers regularly engage with TikTok and other short-form video.

We built an AI-powered social commerce platform that generates short-form video from six locally tuned channel settings (accent, vocabulary, tone, appearance, music and format), then uses engagement signals to keep improving the content.

Live channels were piloted across three markets, with retailer-specific calls to action, QR codes and AI-assisted conversation routing. 380 retailers went live, reaching over a million farmers, while marketing costs fell 50% and product awareness rose 55%.

RoleResearch design, workshops, factor testing, product, prototype
Reach~500 farmers in phase one, ~3,000 across eight markets
MethodInterviews, focus groups, local events, live channel experiments
BuiltAI content pipeline, channel model, vendor spec

Voice bank

62 contributed voices · consent on file · indexed by province
VoiceSpeaks likeDistanceConsentAssigned
TG
Tiền Giang · female 40sfield team · 4m 12s sampled
Miền Tây
0.08nearest
On file3 channels
BT
Bến Tre · male 50sfield team · 3m 40s sampled
Miền Tây
0.14acceptable
On file1 channel
SG
Sài Gòn · male 30sstudio · 6m 02s sampled
Miền Nam
0.31city, not delta
On file2 channels
HN
Hà Nội · female 30snational default
Miền Bắc
0.61reads as outsider
On fileNot used here
ĐL
Đắk Lắk · noneno contribution yet
n/a
n/ano voice
n/ablocked

Voices contributed by field teams, indexed by province. A national accent reads as an outsider in the delta, so it is not used there.

01 · the commercial chain

The company never meets the farmer

The company sells to the wholesaler, the wholesaler sells to the local shop, and only the shop ever meets a farmer. So interest created at the far end has to travel back through three sets of incentives before it looks like revenue. TikTok sits outside all of it.

COMPANYMAKES THE PRODUCT WHOLESALERTHE ACTUAL CUSTOMER LOCAL RETAILERHAS THE RELATIONSHIP FARMERDECIDES WHAT GOES ON THE CROP SELLS TOSELLS TOSELLS TO TIKTOK EXPOSURE, NOT CHECKOUT FARMER SEES IT, LEARNS WHAT IT DOES, WATCHES A NEIGHBOUR USE IT THE BREAK TO BUY, THE FARMER HAS TO GO AND FIND THE RETAILER THEMSELVES. DEMAND TRAVELS BACK UP THREE STEPS BEFORE IT LOOKS LIKE REVENUE FIG. 02 — WHERE MONEY MOVES, AND WHERE ATTENTION LEAKS OUT
02 · the retailers

They were already posting. Three times a day, and going nowhere.

The brief assumed shops couldn't make content. Several of them had been posting steadily for months. When we asked what happened afterwards, four things came back.

REASON 01

They don't know how TikTok works

What the app rewards, when to post, why one video reaches ten thousand people and the next reaches forty. They were treating it like a noticeboard.

REASON 02

There's nowhere to go next

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.

REASON 03

It doesn't sound like anyone local

Templates handed down from a national team, in a voice that reads as an outsider. Farmers scroll straight past.

REASON 04

They can't see any effect on sales

Nothing connects a view to somebody walking in. So posting is a favour to head office.

POSTS PER DAY — CONSISTENT, HIGH EFFORT FOLLOWERS — ALMOST FLAT WEEK 1WEEK 8 WHAT WE ASKED THEM DO YOU USE TIKTOK, AND HOW? WHAT DO YOU POST, AND HOW OFTEN? WHICH CHANNELS DO YOU LIKE, AND WHY? WHAT HAPPENS AFTER SOMEONE COMMENTS? HOW DOES ANYONE FIND YOUR SHOP? IT BECAME A SHOPPING LIST OF ACCOUNTS THE CHANNELS THEY ADMIRED TOLD US MORE THAN THE CHANNELS THEY RAN. FIG. 03 — EFFORT WAS NEVER THE PROBLEM
03 · how we reached farmers

We didn't run workshops with farmers

A farmer sitting opposite a multinational agrees with the multinational. So we went where they already were, in formats they were comfortable with, and handed the room to someone local. The workshops came later, with the field teams, once we had something to analyse.

HOW THEY GOT THERE VIA THEIR RETAILER VIA THE FIELD TEAM LOCAL EVENTS WE HOSTED MARKETING OUTREACH THREE FORMATS, CHOSEN BY WHAT THE CONVERSATION NEEDED EVENT · UP TO 20 SOCIAL ENOUGH THAT PEOPLE SAY WHAT THEY THINK. RANGE, NOT DEPTH. INTERVIEW · 2–3 IN PERSON OR BY CALL. THIS IS WHERE THE PHONE CAME OUT. FOCUS GROUP · UP TO 4 SMALL ENOUGH THAT NOBODY PERFORMS. SCALE ~500 PHASE ONEDISCOVERY AND THE AI TESTS 50 TEST GROUPWHERE THE CHANNEL EXPERIMENTS RAN ~3,000 GEOGRAPHIC EXPANSIONACROSS EIGHT MARKETS IN ASIA THE DECISION THAT MADE THE DATA WORTH HAVING A FARMER SITTING OPPOSITE A MULTINATIONAL AGREES WITH THE MULTINATIONAL. SO A LOCAL TEAM MEMBER HOSTED EVERY SESSION — RIGHT LANGUAGE, RIGHT ACCENT, FROM NEARBY. WE WERE IN THE ROOM AND NOT THE VOICE IN IT. COST US SCRIPT CONTROL. BOUGHT US HONEST ANSWERS. FIG. 04 — THE RESEARCH PROGRAMME
04 · the finding

We built a test to catch them out. They passed, and shrugged.

We wanted to know two things. Can farmers tell AI video from real video, and what gives it away.

So we built a spot-the-AI test, the same material in several versions, each with a different tell, then talked afterwards about which clues they'd noticed. Most of them clocked it, which we'd expected.

What we hadn't expected was that it didn't bother them. The reasoning was the same in every session: it looks realistic enough, it feels local, and it tells me something useful. Nobody cared who made it.

We'd been treating authenticity as the thing to protect. Asked why they preferred one version over another, farmers said it sounded local.

NOTICED THE AI AND CARRIED ON WATCHING SCROLLED PAST WITHIN ABOUT TWO SECONDS MOUTH MOVEMENT SLIGHTLY OFF VOICE CADENCE TOO EVEN LIGHTING TOO CLEAN SAME BACKGROUND EVERY TIME SYNTHETIC — TOLERATED WRONG ACCENT“NOT FROM HERE” WORDS THEY DON’T USESCIENTIFIC OR CAPITAL-CITY TERMS MUSIC THAT DOESN’T FITGENERIC STOCK BEDS PRESENTER LOOKS FOREIGNDRESS, SETTING, FACE FOREIGN — REJECTED HOW WE RAN IT SEVERAL VERSIONS OF THE SAME MATERIAL, DIFFERENT TELLS IN EACH WE DIDN’T ASK “IS THIS AI” FIRST — WE ASKED WHAT THEY THOUGHT OF IT THEN ASKED WHICH CUES GAVE IT AWAY, AND WHETHER IT MATTERED RUN ACROSS FORMATS, HOSTED BY THE LOCAL TEAM MEMBER EACH TIME CONSEQUENCE — STOP SPENDING ON REALISM. SPEND ON ACCENT, VOCABULARY, MUSIC, TONE. FIG. 05 — TWO LISTS WE EXPECTED TO BE THE SAME LIST
05 · unpacking it

“Local” breaks into parts a machine can set

VERSION A · GENERIC NEUTRAL VOICE · STOCK MUSIC FLAT VERSION B · LOCALISED REGIONAL ACCENT · LOCAL MUSIC GREW
AI recognition test
Same script. Same claim. Different delivery.
Spotted it as AImost did
Objected to italmost none
Preferredversion B
Reason given“sounds local”
The synthetic part was never the objection. The foreign part was.
TEST 02 The same script. One grew. FIG. 01 — WHAT CHANGED WAS ACCENT, VOCABULARY AND MUSIC. NOTHING ELSE.

So we split it into six things a pipeline could set, vary and test on its own.

01 · ACCENT

Regional, never national

Farmers named a capital-city accent as a reason they scrolled past. Strongest lever we found, by a distance.

02 · VOCABULARY

The name they say out loud

Rầy nâu, not Nilaparvata lugens. One unfamiliar word and they're gone.

03 · TONE

Closer to a TV show than a lesson

Friendly, often funny, sometimes argumentative.

04 · APPEARANCE

Dress, setting and face from the area

Dress and setting came up alongside accent in the reasons farmers gave.

05 · MUSIC

What plays locally, this month

Generic backing tracks get skipped. The music shortlist refreshes from what's trending.

06 · FORMAT

Short, hooked, something happening

Not a piece to camera. The first two seconds decide whether the rest gets watched.

WHY THIS MATTERS MORE THAN IT LOOKS

Localisation becomes something the machine can set

Each channel stores six settings and every video it makes inherits them. That's the difference between one national voice that reads as an outsider and a local one per province at roughly the same cost. It's the whole reason this works across eight markets.

06 · factor testing

The lab was a live platform

Too many things to test one at a time, one season to do it in, and nobody wanted a study that produced a report instead of growth. We had permission to build real channels, so the test channels were live and grew while they produced results.

PROBLEM 01

You can't hold the algorithm still

Two identical channels don't grow identically. So we ran each condition across a group of channels instead of in pairs, and worked out the normal range of random variation first, using channels running no condition at all.

PROBLEM 02

Everything affects everything else

A great hook on a channel with the wrong accent still fails. Tested separately, the factors gave results that fell apart when combined. Grouping them into categories measured them at the level they work.

PROBLEM 03

A season and a budget

Testing every combination would have taken longer than anyone would wait, and most of the combinations would have been dull. So we ranked the categories first, then spent the precise tests inside the one that moved.

STAGE 1 — WEIGHT THE CATEGORIES LOCALISATION STRONGEST BY SOME DISTANCE CALL TO ACTION SECOND — AND THE ONE WE COULD FIX FASTEST HOOK / OPENING MODEST POSTING RHYTHM INSIDE THE NOISE BAND — NO RESULT CHANNELS BUILT WITH THE CATEGORY APPLIED, AND OTHERS DELIBERATELY WITHOUT IT. SAME CROP, SAME REGION, SAME WEEK, SAME VOLUME. STAGE 2 — GO INSIDE THE WINNER LOCALISATION NOW TESTED PART BY PART, ON CHANNELS ALREADY TUNED ACCENTCARRIED IT VOCABULARYCLEAR EFFECT MUSICCLEAR EFFECT APPEARANCESMALLER
the honest limit
This tells you which category moves growth. It does not tell you which moves sales — that measurement didn’t exist yet, which is exactly why the call-to-action work mattered more than the content work.
FIG. 06 — EXPERIMENT DESIGN. THE TEST CHANNELS WERE REAL, SO IT PRODUCED GROWTH AS WELL AS ANSWERS.
07 · what each finding bought

Research is only worth the decisions it changes

How we know

Spot-the-AI test across formats, with the AI question asked after the material.

What it says

Farmers spot AI and don't object, as long as it feels local and tells them something useful.

What we did

Stopped spending on realism. Put that effort into accent, vocabulary, music and tone instead.

How we know

Two-stage factor test on live channels, groups instead of pairs, with the normal range of variation established first.

What it says

Localisation moves growth more than anything else. Within that, accent beat vocabulary, music and appearance.

What we did

A channel became a set of six local settings, inherited by every video it makes. A regional voice per market instead of one national one.

How we know

Shop interviews about their own channels, and what happens after a farmer comments.

What it says

They post plenty. They lose people at the moment of wanting the product, because nothing tells the farmer where to go.

What we did

The end card became a working thing instead of a line of text: named shop, QR code, and comments routed to a thread that carries the context.

How we know

How much posting is needed, against what TikTok tolerates before an account looks automated.

What it says

Below ten posts a day channels didn't grow. Above thirty, or at regular intervals, accounts got flagged as automated.

What we did

Real human touches and slightly random timing built into the pipeline, because TikTok flags accounts that post without them.

The insight we couldn’t use

They loved a channel because the presenter looked like a celebrity

One account kept coming up. The reason turned out to be that the AI presenter resembled a well-known local figure.

Likeness became an explicit guardrail from that point on.

What we changed about how we listened

The tangents were where the pattern was hiding

Farmers talk at length about channels they enjoy, and a lot of it connects to nothing you can build. We treated it as noise for the first few sessions.

That channel-by-channel enthusiasm was where localisation first showed up, even when the specific reason 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.

From what they said to what we built

A farmer with a phone was already there. Part II is the machinery behind that video, and the one point where a person has to stand.

Part II

The pipeline, and where a person has to stay in it

The research found that localisation moves farmers and that the end card was broken. This is how that became a working system: what each tool does, where the human sits, and why it isn't one model doing everything.

01 · REASONING CLAUDE — SCRIPT, CLASSIFY, CHECK 02 · RENDERING ELEVENLABS · AVATAR · CREATOMATE 03 · ORCHESTRATION N8N — QUEUE, TIME, RETRY, POST HUMAN PASSES THROUGH ALL THREE FIG. 09 — THE STACK, PULLED APART
11 · service blueprint

What the farmer sees, and the eleven things happening behind it

Drawn as a blueprint because the interesting part is the distance between a farmer tapping a video and a shop knowing they exist. Everything below the second line was invisible before.

FARMER ON SCREENLINE OF INTERACTION AI PIPELINELINE OF VISIBILITY PEOPLELINE OF INTERNAL INTERACTION DATA SCROLLS EVENING, OWN FEED VIDEOLOCAL VOICE, LOCAL MUSIC GENERATEDCLAUDE → 11LABS→ CREATOMATE AGRONOMISTCLEARED THE CLAIM MEDIA LIBRARY, TAGGED STOPS RECOGNISES THE PROBLEM HOOK LANDSFIRST TWO SECONDS WATCH SIGNALBACK INTO THE MODEL WATCH-THROUGH BY REGION COMMENTS ASKS SOMETHING REAL REPLYWITHIN THE HOUR CLASSIFYNOISE / QUESTION /INTENT / COMPLAINT SERVICE TEAMTAKES THE FLAGGED ONES INTENT LOG TAPS THROUGH WANTS THE PRODUCT END CARDNAMED SHOP + QR ROUTEMATCH PROVINCE TONEAREST RETAILER CHANNEL → RETAILER MAP MESSAGES ZALO OR LINE THREAD OPENSWITH CONTEXT ATTACHED CARRY CONTEXTWHICH VIDEO, WHICH PEST RETAILERANSWERS AS THEMSELVES CONVERSATION RECORD BUYS IN THE SHOP, IN CASH QR SCANNEDAT THE COUNTER ATTRIBUTIONSTILL PARTIAL SALE, IF THE CODE IS USED THE PIECE THAT DIDN’T EXIST BEFORE FIG. 10 — SERVICE BLUEPRINT
12 · the pipeline

We didn't use one model for everything

Each tool does the narrow thing it's good at. The joins took the longest to settle: what gets passed on, what gets held back, and where a person can stop it.

01 SIGNAL TRENDS, COMMENTS, PEST MENTIONS, SEARCH SCRAPE + LISTEN 02 CLAUDE SCRIPT IN THE CHANNEL’S REGISTER · HOOK · CTA REASONING 03 ELEVENLABS VOICE IN THE REGIONAL ACCENT, NOT THE CAPITAL THE LOCALISATION LEVER 04 ASSEMBLY CREATOMATE TEMPLATE + TAGGED FOOTAGE + CAPCUT RENDER 05 CHECK CLAIMS, LIKENESS, RATE LANGUAGE, LOCAL NAMES HUMAN + CONSTRAINT PASS 06 N8N QUEUE, STAGGER, RETRY, TIME IT LIKE A PERSON ORCHESTRATION 07 PUBLISH 10–30 A DAY ACROSS CHANNELS, NOT PER CHANNEL TIKTOK PERFORMANCE GOES BACK INTO SIGNAL — WHAT LANDED, WHERE, IN WHICH REGISTER CHANNEL PROFILE INJECTED HERE ACCENT · VOCABULARY · TONE · APPEARANCE · MUSIC · FORMAT GLOBAL CONSTRAINTS — HIDDEN, NOT EDITABLE LIKENESS · CLAIM LIMITS · WHAT THE MODEL MAY NOT ASSERT · BEHAVIOUR WHEN UNSURE FIG. 11 — THE PIPELINE. TWO PLACES A PERSON CAN STOP IT, MARKED IN AMBER.
13 · localisation

Turning “sounds local” into six things a machine can set

Each of the six parts of localisation had to become a setting with a tool behind it. Otherwise it stays a workshop finding on a wall.

Accent mattered most and took the longest to build. A national voice model gives you the capital city, which reads as an outsider in the delta. Switching to a regional voice produced the biggest change we measured.

Vocabulary needed a lookup table. Left alone, the model reaches for the scientific name every time. So the pest word list sits outside the prompt, one per region.

Set the region and the crop, and everything downstream inherits it.

REGION + CROP THE ONLY TWO INPUTS ACCENTREGIONAL VOICE ID ELEVENLABSVOICE PER REGION, NOT PER COUNTRY VOCABULARYPEST LEXICON LOOKUP TABLE, NOT PROMPTRẦY NÂU, NOT NILAPARVATA LUGENS TONEPERSONA IN THE PROMPT CLAUDEFRIENDLY · FUNNY · ARGUMENTATIVE APPEARANCEAVATAR SET PER MARKET AVATAR + WARDROBELIKENESS RESTRICTED BY CONSTRAINT LAYER MUSICLOCAL AUDIO SHORTLIST TRENDING, BY MARKETREFRESHED WEEKLY FROM SIGNAL FORMATTEMPLATE CHOICE CREATOMATE / CAPCUTSHORT, HOOKED, SOMETHING HAPPENING FIG. 12 — THE LOCALISATION ENGINE TWO INPUTS IN. SIX PARAMETERS OUT. EVERY ASSET INHERITS THEM.
14 · fixing the last two centimetres

The end card stopped being a line of text

Shops were losing farmers at the moment of wanting the product. The old version said something like “contact us”, and the farmer had to work out who “us” was, where they were, and how to reach them.

BEFORE VIDEO ENDS“CONTACT US” FARMER SEARCHESFOR A NAME THEY DON’T HAVE LOST HERE AFTER — FOUR THINGS, EACH DOING A DIFFERENT JOB 01 · THE END CARD KNOWS THE SHOP GENERATED PER CHANNEL, NOT PER VIDEO. NAME, DISTRICT, QR THAT RESOLVES TO THAT RETAILER’S STOCK. QR SCANS AT THE COUNTER, WHICH IS THE ONLY ATTRIBUTION WE GET. 02 · THE COMMENT BECOMES THE DOOR CLAUDE READS INTENT IN THE REPLY. A QUESTION GETS AN ANSWER. “WHERE CAN I BUY THIS” GETS A THREAD OPENED. COMMENT → CLASSIFY → ZALO DEEP LINK 03 · GEOGRAPHY DECIDES THE ROUTE PROVINCE FROM THE CHANNEL, OR ASKED ONCE IN THE THREAD. MATCHED TO THE NEAREST RETAILER WHO STOCKS IT. CHANNEL → PROVINCE → SHOP 04 · CONTEXT TRAVELS WITH THEM THE RETAILER OPENS A THREAD THAT ALREADY SAYS WHICH VIDEO, WHICH PEST, WHICH CROP, WHICH PROVINCE. THEY START THE CONVERSATION ALREADY KNOWING SOMETHING. NONE OF THIS IS CLEVER. IT IS THE PART EVERYONE SKIPS BECAUSE IT ISN’T THE FUN BIT. FIG. 13 — CTA REPAIR
15 · the experiment, properly

Running an experiment when your lab is a live platform

TikTok isn't a controlled environment. The algorithm moves, seasons move, and one viral post can swamp a week of careful work. The three problems above are what we designed around.

COHORT DESIGN STAGE 1 · CATEGORY TOP ROW: CATEGORY APPLIED BOTTOM ROW: DELIBERATELY WITHOUT SAME CROP, SAME REGION, SAME WEEK, SAME POSTING VOLUME WHAT WE READ FOLLOWER GROWTH RATE WATCH-THROUGH SAVE AND SHARE COMMENT VOLUME AND TYPE CTA FOLLOW-THROUGH NOISE BAND ESTABLISHED FIRST, FROM CHANNELS RUNNING NO CONDITION STAGE 2 · INSIDE LOCALISATION ACCENTVOCAB MUSICLOOK RUN ON CHANNELS ALREADY TUNED FOR LOCALISATION, SO THE BASELINE IS ALREADY GOOD AND THE DIFFERENCE IS ATTRIBUTABLE. ACCENT CARRIED THE CATEGORY
what the test bought
Two decisions, both expensive to get wrong
Buildchannel = profile
BuildCTA as a component
Don’t buildposting-rhythm tooling
Side effectthe channels grew
THE HONEST LIMIT: THIS TELLS YOU WHICH CATEGORY MOVES GROWTH. IT DOES NOT TELL YOU WHICH MOVES SALES. THAT MEASUREMENT DID NOT EXIST YET, WHICH IS WHY THE CTA WORK MATTERS MORE THAN THE CONTENT WORK. FIG. 14 — EXPERIMENT DESIGN
16 · the loop

AI earns its place after publishing, not before

Making video is the obvious use, and plenty of tools do it. What matters is what happens after publishing.

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. An end card nobody follows tells you it's 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 doesn't act on its own reading.

PUBLISH10–30 A DAY SIGNALS COME BACK WATCH CURVE · COMMENT TYPE SAVES · CTA FOLLOW-THROUGH A PERSON READS IT WEEKLY, WITH THE AGRONOMIST IN THE ROOM NEXT DRAFTS CHANGE HOOK, REGISTER, TOPIC, END CARD, MUSIC CHANNEL PROFILE UPDATED, NOT OVERWRITTEN FIG. 15 — THE LOOP. IT CLOSES THROUGH A PERSON, ON PURPOSE.
17 · the joins

What gets passed between tools, and what gets held back

Most of the design work in a pipeline like this sits in the handoffs. These took the longest to settle.

JoinWhat passesWhat deliberately doesn’tWhy
Signal → ClaudeTopic, region, crop, how far the signal has spreadRaw engagement countsA loud trend and a real problem are different things. Passing the volume through made the model overclaim.
Claude → ElevenLabsScript, register, pacing marksAnything unreviewed with a claim in itOnce it has a voice it sounds finished, and finished things get published.
Claude → assemblyScene list, footage tags, caption textProduct names in the visualsShowing a product on screen counts as a regulated claim in several of these markets.
Assembly → checkThe draft video, plus whatever the model was unsure aboutAn automatic passThat uncertainty flag is what makes review fast enough to survive.
Check → n8nApproved video, channel, earliest post timeAn exact scheduleExact schedules look like a bot, so the scheduler varies the timing itself.
Comments → routingIntent class, province, video contextAny generated agronomic answerThe system opens the door. The shop walks through it.
Part III

What we shipped, and what it should become

Eleven screens went live, making and managing content. This part is where the intelligence belongs: six capabilities that make the system learn per region and cost less with every market.

Built & running Designed, not built Further out
TIER 1 · MAKE THINGS GENERATE VIDEO, VOICE, CAPTIONS, POSTS. THIS IS WHAT SHIPPED. EVERY COMPETITOR CAN DO IT WITHIN A YEAR. TIER 2 · CONNECT THINGS ROUTE A COMMENT TO A RETAILER. CARRY CONTEXT INTO A THREAD. CLOSES THE GAP BETWEEN A VIEW AND A CONVERSATION. TIER 3 · DECIDE THINGS ALLOCATE EFFORT ACROSS VARIANTS AND REGIONS, CONTINUOUSLY. THE FACTOR TEST, RUNNING BY ITSELF, FOREVER. TIER 4 · TRANSFER THINGS WHAT WORKED IN ONE PROVINCE WARM-STARTS THE NEXT. MARKET NINE COSTS A FRACTION OF MARKET ONE. VALUE THAT COMPOUNDS FIG. 16 — THE CAPABILITY LADDER. WE SHIPPED THE BOTTOM RUNG.
18 · what shipped

What shipped, and where each part goes next

These went live during the sprint or were written up for the vendor build. The last column is where each one goes next, now we've watched them get used.

SurfaceStateWhat it doesWhere it goes next
OnboardingBuiltCountry, language and role. Different views for shop, service and content teams.Choosing a role is where governance starts. Who can approve what belongs here, in plain sight.
Trend analyticsBuiltPest, 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 LabBuiltContent suggestions with a score, plus recommended music, posting time, tone and length.The score becomes regional, says what it predicts and carries a range. See capability 05.
Channel dashboardBuiltAll channels in one view with stage, followers and engagement.The stage controls what a channel is allowed to do. A channel goes live once an expert is named against it.
Growth automationBuiltEach channel as its own small brand. Goals, repost suggestions, channel settings.The six local settings belong here, inherited by everything the channel makes.
Content creationBuiltFive ways in, from an agronomist's voice memo to a filled-in brief.The strongest thing we built. Every line now traces back to a timestamp in the source.
Media libraryBuiltUpload, with automatic tagging by crop, pest, disease and treatment.Rights become a property of the file, so restrictions travel with it into every video.
Content libraryBuiltEverything published, filterable, remixable, with performance per post.A history trail traces any claim back to the source it came from.
Funnel conversionBuiltSix stages with generated tasks, a lead list, CRM links and local platform links.The stages are right. The handover into Zalo and LINE decides whether any of it works.
POS toolsBuiltQR codes, discount and voucher codes, redemption tracking.The only attribution we get, and the one place a view turns into a number you can bank.
Review queueNot builtA queue of claims that need an agronomist, ordered by consequence.The queue everything else depends on. It's how an expert steps in, and how the system learns what it can publish on its own.
19 · capability 01 Designed

The factor test should run itself, per province, forever

We spent a season learning that localisation beats everything else. But a voice that works in one province doesn't necessarily work in the next, and audiences shift between seasons.

Doing that by hand across eight markets isn't realistic. So the experiment becomes part of the machine: each local variation is an option, posting volume is the budget, and the system shifts nightly toward whatever is working in that province.

The important decision is what it optimises for. Optimise on engagement and it optimises for whatever holds attention, which isn't the same as what sells.

A person sets the options and defines the goal.

WEEK 1 — SPREAD EVENLY ACCENT A · ACCENT B · MUSIC A · MUSIC B · TONE C — EQUAL POSTING BUDGET WEEK 6 — CONVERGED FOR THIS PROVINCE ACCENT B TOOK MOST OF IT — IN THIS PROVINCE ONLY EXPLORATION FLOOR KEPT ON THE OTHERS SO IT CAN NOTICE A SHIFT THE REWARD IS THE WHOLE DESIGN IF YOU REWARD THIS VIEWS LIKES FOLLOWER GROWTH IT FINDS RAGE BAIT WITHIN A FORTNIGHT AND IT WILL BE RIGHT TO. SO WE REWARD THIS INSTEAD WATCH-THROUGH PAST THE HOOK THREADS OPENED FROM THE END CARD QR SCANS AT THE COUNTER HARDER TO MEASURE. THE ONLY VERSION THAT POINTS AT REVENUE. HUMAN SETS THE ARMS AND THE REWARD. MACHINE SETS THE SPEND. NOBODY AUTOMATES THE OBJECTIVE. FIG. 17 — CONTINUOUS FACTOR ALLOCATION
20 · capability 02 Designed

A country dropdown is too coarse to act on this

Picking “Vietnamese” gives you a Hanoi voice, and in the Mekong Delta that's the capital-city problem again, one level down. If accent is the strongest lever, it deserves to be measured.

TODAY SELECT LANGUAGE: VIETNAMESE ONE VOICE PER COUNTRY. SOUNDS LIKE THE CAPITAL EVERYWHERE. INSTEAD — A VOICE BANK WITH A DISTANCE MEASURE CONSENTED RECORDINGS FROM FIELD TEAMS EACH VOICE TAGGED BY PROVINCE, NOT COUNTRY TARGET AUDIENCE SPEECH PROFILE SITS ON THE SAME MAP PICK THE NEAREST VOICE, NOT THE NATIONAL ONE
voice match
Selected on measured distance, not a dropdown
TargetLong An, rice
Nearest voiceTiền Giang
National defaultrejected
Fallbacknext nearest
Where no close voice exists, the system says so rather than guessing. A wrong accent is worse than a neutral one.
CONSENT AND LIKENESS SIT IN THE CONSTRAINT LAYER — VOICES ARE CONTRIBUTED, NOT CLONED FROM PUBLIC CONTENT. FIG. 18 — DIALECT DISTANCE RATHER THAN LANGUAGE SELECTION
21 · capability 03 Designed

Trends tell you what already happened

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's in the comments first. The same question from the same three districts, before anyone has posted about it.

So instead of ranking nationwide mentions, group incoming comments and searches by province and crop, and watch for a group growing where it wasn't. Then check that against the farming calendar. A rise that matches expected pest pressure for the week counts. One that doesn't gets flagged for a person to look at.

That's the difference between a content tool and an early-warning one.

PLATFORM-WIDE TRENDING EVERYONE POSTS THE SAME VIDEO COMMENT CLUSTER IN 3 DISTRICTS SAME QUESTION, SAME WEEK, SAME CROP THE WINDOW WE WERE MISSING MENTIONS CLUSTER BY PROVINCE AND CROP, NOT BY NATIONAL VOLUME CROSS-CHECK THE AGRONOMIC CALENDAR FIG. 19 — GETTING AHEAD OF THE CURVE RATHER THAN RIDING IT
22 · capabilities 04 and 05

Making compliance testable, and fixing the score

Both of these replace something we shipped with a weaker version of it. Both turn a judgement call into something you can test.

Capability 04 Designed

Every farming claim resolves to a source, or it doesn't ship

The hidden rules we wrote with legal stop the model saying certain things. You can't test a prohibition on every video, and a longer prompt gives it more room to fail.

The stronger version looks each claim up. A claim in a draft has to match the registered product label for that province, or an approved technical document. Anything that can't be matched gets stripped out or sent for review. Registration varies by province, so this also solves a problem we had no answer for.

Compliance becomes a pass or fail on every video, with a log.

Capability 05 Designed

A regional audience model instead of a virality score

The Virality Lab put a percentage on every suggestion, and within a week people were treating it as a target.

The replacement is narrower and honest: one model per region, trained on that region's own watch-through, saves and thread-opens, scoring a draft against the audience it is for and showing how sure it is.

Where there isn't enough local data, it refuses to produce a number instead of inventing one.

CLAIM RESOLUTION, STEP BY STEP DRAFT SCRIPTFROM THE PIPELINEBEFORE ANY VOICE IS ADDED EXTRACT CLAIMSPEST ID · TIMING · PRODUCT ·RATE · EFFICACY RESOLVE AGAINST SOURCEPROVINCE LABEL · APPROVED DOC ·SEASONAL GUIDANCE RESOLVED — SHIPSWITH THE SOURCE LOGGED AGAINST IT UNRESOLVED — STRIPPEDSENTENCE REMOVED, DRAFT CONTINUES HIGH CONSEQUENCE — REVIEWRATE, TIMING, DIAGNOSIS. ALWAYS A PERSON. REGRESSION SUITE RED-TEAM PROMPTS RUN NIGHTLY AGAINST THE CONSTRAINT LAYER. A FAILURE BLOCKS THE DEPLOY. FIG. 20 — COMPLIANCE AS A RETRIEVAL PROBLEM, WHICH MEANS IT CAN BE TESTED
23 · capability 06 Further out

A receptionist, not an adviser

The handover from comment to shop is still manual, and it's where most of the value leaks. Software can hold that gap, as long as its job is drawn tightly enough.

It opens the thread, confirms province and crop, works out which shop stocks the thing, and hands over with a summary of what the farmer already said.

It doesn't diagnose. It doesn't name a dose. The moment the conversation turns agronomic, it stops and fetches a person.

It only does what it can do without error, because a wrong farming answer costs more than a slow one.

IT MAY OPEN A THREAD FROM A COMMENT ASK WHICH PROVINCE AND CROP CHECK WHICH RETAILER STOCKS IT SEND OPENING HOURS AND LOCATION SUMMARISE THE THREAD FOR THE RETAILER SAY IT DOESN’T KNOW IT MAY NOT NAME A PEST FROM A PHOTO GIVE A RATE OR A MIXING INSTRUCTION RECOMMEND AN UNREGISTERED PRODUCT SAY WHEN TO SPRAY SPEAK AS THE AGRONOMIST GUESS TO KEEP THE CONVERSATION GOING THE STOP CONDITION IS THE PRODUCT FARMER: “LÁ LÚA BỊ VÀNG ĐẦU, CÓ PHẢI ĐẠO ÔN KHÔNG?” AGENT STOPS. TAGS IT AS A DIAGNOSIS. PULLS IN THE RETAILER, AND FLAGS IT FOR AGRONOMIST IF THE RETAILER ASKS. WHAT THIS BUYS: THE THREAD OPENS IN SECONDS INSTEAD OF HOURS, AND THE RETAILER ARRIVES ALREADY KNOWING SOMETHING. FIG. 21 — A DELIBERATELY SMALL AGENT
24 · scale Further out

Market nine should cost a fraction of market one

Getting to eight markets was done the expensive way. New channels from zero, new voices, new content, and the learning curve paid for again each time. That works once.

STEP 01

Measure how alike two markets are

Crop mix, pest calendar, how people use the app, language family, shop structure. Worked out from data already held.

STEP 02

Inherit from the nearest neighbour

A new province starts with the settings, hook patterns and content calendar from the market most like it, instead of from nothing.

STEP 03

Let the system correct it

Inherited settings are a starting position. The nightly allocation pulls them toward what works locally within weeks.

STEP 04

Only build what can't transfer

Voice bank, pest word list, registered product list and local music. Everything else carries across.

COST TO STAND UP A MARKET M1M2M3 M4M5M6 M7M8 WITHOUT TRANSFER, THIS LINE IS FLAT EVERY MARKET PAYS THE FULL LEARNING COST AGAIN FIG. 22 — THE ONLY VERSION WHERE “AS A SERVICE” MEANS ANYTHING

From a system to something you can open

An argument about voices and guardrails only counts once it's a screen someone taps at the end of a working day. What follows is what shipped, and what should have.

34 · the surfaces

Every screen, rebuilt, with the machine's work made visible

The shipped screens, 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 part did it, and says whether a person still has to confirm.

What the markers mean, on every screen: auto drafted held never
SCREEN 01 · ONBOARDING: FROM THE DECK

Your role decides what you can approve

In the deck

Name, user type, country and language. Four roles: admin, shop, service team, content team.

Rebuilt

Role became a permission model. The market panel checks for a regional voice and a named agronomist at setup, so blockers show up before a channel exists.

Automation added

accent picks the nearest regional voice automatically. Anything with commercial or farming consequence is marked never.

‹ ›
⌁app.channel-os/setup

Set up your account

Step 1 of 3 · market and role
BackContinue
Market
CountryVietnam
ProvinceLong An
LanguageTiếng Việt
Regional voicematched on dialect distanceTiền Giang
accent · auto
Pest lexiconMekong Delta auto
Your role
Admin: productNot you
Retailer Retailer: CRM & salesSelected
Service team: conversionNot you
Content team: productionNot you
Agronomist: reviewNot you
What this role can do
Create and run channelsYes
Publish reviewed contentYes
Reply to direct questionsdrafted
Approve agronomic claimsnever
Edit the constraint layernever
No agronomist named for Long An

You can set up and run a starter channel today. Live selling and product recommendation stay locked until one is assigned.

SCREEN 02 · ANALYTICS REPORT: FROM THE DECK

The feed simulator, plus the question it never asked

In the deck

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.

Rebuilt

Local pest names lead, scientific names sit behind them. Every signal shows how far it has spread and whether anything backs it up.

Automation added

scout groups and ranks continuously. One-click generation stays, but a thin signal makes it a draft instead of automatic.

‹ ›
⌁app.channel-os/signals

What farmers are talking about

Long An · rice · last 7 days · updated 06:00
scout · runningChange regionGenerate from trend
Mentions tracked
37.6k
▲ 22% week on week
Creators matched
18
by keyword and region
Farmer leads found
212
accounts in target provinces
Signals needing a check
2
narrow spread
Rising signalMentionsChangeSpreadAction
Rầy nâubrown planthopper
8,420▲ 41%3 of 13 provincesheld
Đạo ônrice blast
9,870▲ 12%11 of 13 provincesauto
Bạc lábacterial leaf blight
7,650▼ 4%9 of 13 provincesauto
Khô vằnsheath blight
6,420▲ 8%7 of 13 provincesauto
Vàng lùntungro virus
5,230▲ 3%2 of 13 provincesheld
Rầy nâu · why this is held scout
Distinct accounts212
Concentrated in3 creators
Matches seasonal pressureYes
Field reports corroborateNo
Spreading, not necessarily happening

The volume is concentrated in three large accounts. Generation stays a draft until an agronomist confirms it.

Ask for a field checkDraft anyway
SCREEN 03 · VIRALITY LAB: FROM THE DECK

Same recommendations, a score that can refuse

In the deck

Suggestions for video with a score, trending music, best posting time, regional tone, crop and pest themes, length and end-card suggestions.

Rebuilt

The suggestions are unchanged and good. The score is now trained per region, says what it predicts, and shows a range.

Automation added

dial shifts posting budget nightly across variations. Where a province has no history, no number is produced at all.

‹ ›
⌁app.channel-os/audience-fit

How this is likely to land

Scored against each province's own watch data
dial · reallocating nightlyGenerate ideas
Rice disease prevention tutorial drafted
74%± 9 · fit for Long An
Predictswatch-through past 0:06
Trained on1,840 posts · 26 weeks
Music
Local trending #3
Best time
19:40
Register
Friendly
Length
38–46s
Create videoPreview
Same script · Đắk Lắk, coffee no score
n/anot enough history
Trained on41 posts · 3 weeks
Regional voiceNone close enough
The model won't guess here

A number built from 41 posts would be made up, and a number on a screen becomes a target within a week. Publish it unscored and scoring switches itself on at around 200 posts.

Publish unscoredBorrow priors from Tiền Giang
SCREEN 04 · AI-DRIVEN CONTENT CREATION: FROM THE DECK

The ways in, and what the machine checks

In the deck

Five ways in: voice memo, remix, article, trend, filled-in form. Under five minutes to a finished video. Faceless with voiceover, or a generated presenter.

Rebuilt

The queue and the five ways in stay. Hooks come from a question the audience already has or an observation in the source, and every line traces back to a timestamp in it.

Automation added

accent sets voice and vocabulary from the channel. ward reads every claim and decides whether it can ship.

‹ ›
⌁app.channel-os/studio/RQ00181

New video

RQ00181 · voice memo · field agronomist · 2:14 · Tiếng Việt
Save draftSend for review
Recent requests
RQ0018122 Jun · 12:04
held
RQ0018022 Jun · 09:41
Succeeded
RQ0017820 Jun · 08:12
Succeeded
RQ0017720 Jun · 07:55
Succeeded
Input method
Voice memo from agronomistUsed
Remix a popular videon/a
Article or news URLn/a
Select a trendn/a
Structured briefn/a
Opening hook
A question the audience already hasauto
A field observation from the sourceauto
A number taken from the sourcecheck it
A shocking number, exaggeratedremoved
Applied from the channel accent
VoiceTiền Giang
VocabularyMekong lexicon
RegisterFriendly, light argument
Footage tagged24 files
TemplateGeneric · 5 image
Draft script · segment 1 of 4 drafted

"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."

Traced to source 00:14–00:31
Pest ID
review
Timing
review
Product
none
Rate
never
ward found two agronomic claims

Can't be scheduled until it's cleared. The queue is four hours. Everything else in this draft is ready.

SCREEN 05 · GROWTH AUTOMATION AND LIVE STREAM: FROM THE DECK

Each channel its own small brand, with a ceiling the app sets

In the deck

Goals such as 1,000 followers in 30 days. Suggestions on what to repost, which comments to turn into video, who to follow. Channel settings for accent, tone, crop and segment.

Rebuilt

The follower goal is demoted. What opens live selling is a named expert and an answer rate. Posting frequency shows the band between too slow to grow and flagged as a bot.

Automation added

dial spends the daily post budget across variations and varies the timing so the account reads as a person.

‹ ›
⌁app.channel-os/channels/rice-farming-expert-th

Rice Farming Expert TH

Chiang Rai · rice · seeding · operated by local dealer
Channel settingsCreate content
Localisation profile accent
AccentNorthern Thai
VocabularyChiang Rai lexicon
ToneFriendly, some humour
AppearanceLocal dress, field setting
MusicRegional · refreshed Mon
FormatShort, hooked
Posting budget dial
Today18 posts
3 · too slow to grow30 · flagged as a bot
TimingJittered ±22 min
Human touchpoints today4
Best variant this weekAccent B
Inside the workable band

Enough volume to grow, irregular enough to look human.

Gates to live
Audience in target provinces62%
Repeat viewersMet
Questions answered in 24h31%
Named agronomistNone
Live stream kitlocked
Followers alone won't open this

The original used 1,000 followers as the gate. Two of these four are about being able to answer.

SCREEN 06 · MEDIA LIBRARY: FROM THE DECK

Auto-tagging kept, ownership added

In the deck

Upload images or video. Automatic tagging by pest, disease, crop and treatment. Faster search and video making.

Rebuilt

A source and rights column. The pilot used footage scraped off the web and nothing tracked where any of it came from.

Automation added

Tagging stays automatic. Rights belong to the file, so restrictions travel with it into every video.

‹ ›
⌁app.channel-os/library/media

Media library

2,418 assets · tagged on upload
auto-tagging onAdvanced filtersUpload
Rice · 1,204 assets
Maize · 618 assets
Cotton · 402 assets
Unverified rights · 194
AssetAuto tagsSourceRightsUsable in
field_longan_0412.mp400:41 · 1080p
rice · planthopper · vegetativeSelf-capturedClearedAny stage
blast_closeup_88.jpg4032 × 3024
rice · blast · leafAgronomy teamClearedAny stage
harvest_generic_21.mp400:18 · 720p
rice · harvestWeb-scrapedUnverifiedSeeding only
sprayer_demo_07.mp400:32 · 720p
equipment · applicationWeb-scrapedBlockedNothing, competitor label visible
SCREEN 07 · CONTENT LIBRARY: FROM THE DECK

Remix kept, history added

In the deck

Everything published across channels. Filter, remix, repost or reassign, with performance per post.

Rebuilt

A history trail. A remix of a remix of a voice memo now shows that chain, so any claim can be traced back to the mouth it came from.

Automation added

When a source claim is corrected, everything made from it gets flagged instead of quietly carrying on.

‹ ›
⌁app.channel-os/library/content

Published content

466 posts · 3 channels · last 30 days
Filter by statusCreate new content
PostViewsSavesThreadsState
Rice disease prevention tutorialRice Farming TH · 45s · 20 Jun
12,40089067Live
Organic fertiliser success storyOrganic Farm VN · 60s · 19 Jun
8,75065443Live
Planthopper, early checkRice Farming TH · 38s · 20 Jun
4,11020312Flagged
Pest control innovation demoPest Control Pro IN · 52s · 18 Jun
21,3001,41096Live
Lineage · post 4471 auto-traced
Voice memo, agronomist
12 Jun · cleared
Video 4188
12 Jun · published
Remix 4471, this post
20 Jun · flagged
Source claim corrected on 22 Jun

Two videos made from it flagged automatically. Neither has been reposted since.

SCREEN 08 · FUNNEL CONVERSION: FROM THE DECK

The stages, and the handover that was missing

In the deck

Awareness, prospect, lead, contact, follow-up, action. Generated tasks at every stage, a lead list, CRM links, order form. LINE, Zalo, WeChat and WhatsApp.

Rebuilt

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 the context.

Automation added

usher opens threads and routes them by province. It stops the moment a question turns agronomic.

‹ ›
⌁app.channel-os/conversations

Conversation funnel

Long An · last 30 days · Zalo connected
usher · 45 threads openedConnect platform
Awareness
1,250
reached
Prospect
320
25.6% · engaged twice
Question
89
27.8% · real ask
Thread open
45
50.6% · new
Retailer joined
23
51.1% · new
Code scanned
12
52.2% · new
Tasks generated today drafted
Reply to 14 commentsdone
Send opening hours to 6 threadsdone
Call 3 prospectsFor you
Arrange 1 field visitFor you
Answer 2 pest questionsAgronomist
Thread 0912 · handover usher
Came fromComment on post 4471
ProvinceLong An
CropRice · 40 days
Routed toTân An agri supply
Context passedVideo, pest, province
Time to open8 seconds
Where it stopped never

"Lá lúa bị vàng đầu, có phải đạo ôn không?"

Classified asDiagnosis request
Agent responseNone sent
Handed to a person

The shop picks it up with the photo attached, and escalates to the agronomist if they ask.

SCREEN 09 · POS TOOLS: FROM THE DECK

The only place a view turns into a number you can bank

In the deck

QR codes for stock, discounts and vouchers. Batch numbers and quantities. Voucher stats: issued, redeemed, total value.

Rebuilt

Codes are issued per channel, so a scan traces back to the video and province that produced it. Registration is checked against the province where it's scanned.

Automation added

Attribution runs automatically. An unregistered product warns at the counter before the sale, instead of showing up in a compliance report later.

‹ ›
⌁app.channel-os/counter

Counter tools

Inventory, discount and voucher codes
Export codesBulk generate
Codes issued
156
across 3 channels
Redeemed
89
57% redemption rate
Traced to a post
71
of 89 · 80% attributed
Blocked at counter
3
unregistered province
Generate inventory code
ProductFungicide A
BatchBAT731
Quantity100
Attribute to autoRice Farming Expert TH · Chiang Rai
Generate QR
Active codes
20% off spring sale45 of 100 · expires 31 Mar
Active
$10 off orders over $5023 of 50 · expires 15 Apr
Active
BOGO fertiliser deal89 of 100 · expires 25 Mar
Ending soon
Premium fertiliser ABAT731 · inventory
Tracking
Scan · QR-731-0044
Scanned inPhayao
Issued forChiang Rai
Registered in PhayaoNo
Traced toPost 4188
Not registered in this province

Warn before the sale. A registered alternative is offered automatically.

SCREEN 10 · CHANNEL DASHBOARD: FROM THE DECK

Stage as a permission, not a progress bar

In the deck

Manage growth across starter, growth and live. Filter by crop, stage and followers. Quick stats and suggested actions.

Rebuilt

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.

Automation added

The fourth card is amber on purpose. Threads opened at 3.6% of reach is the weak step, so the screen leads with it instead of follower totals.

‹ ›
⌁app.channel-os/channels

Channels

3 active · Vietnam and Thailand · last 30 days
FilterNew channel
Active channels
3
1 seeding · 1 growth · 1 live
Posts, 30 days
466
▲ 18% on previous period
Watch-through
12.4%
▲ 2.1pt since localisation
Threads opened
45
3.6% of reach, the weak step
ChannelFollowersPostsWatch-throughReadiness for next stageStage
R
Rice Farming Expert THChiang Rai · rice · local dealer
450+127 / wk
233 / day
6.2%below median
62% · no agronomist named
Seeding Live locked
O
Organic Farm Life VNLong An · vegetables · co-op
7,890+402 / wk
15611 / day
12.7%above median
88% · answer rate 71%
Growth
P
Pest Control Pro INMaharashtra · cotton · distributor
15,678+880 / wk
28719 / day
18.4%top decile
All gates met
Live
One channel is holding at starter

Rice Farming Expert TH has the audience but no agronomist named for Chiang Rai, so the two locked features stay locked.

35 · beyond the deck

Screens that decide rather than make

The screens above make things. These decide things, and each one comes straight out of the research.

NEW SURFACE 01 · REVIEW QUEUE: ward

The screen every other screen depends on

Why it exists

Ten other screens assume an expert can step in. This is where they do it.

What it does

Ordered by consequence first, then by how long a farmer has waited. Dose, timing and diagnosis always land here whatever the model's confidence.

Autonomy

It escalates on consequence. A confident wrong answer would never have escalated under the original design.

‹ ›
⌁app.channel-os/review

Seven items need your judgement

Agronomist view · Mekong Delta · service level 6 hours
Filter by cropReview oldest
In queue
7
3 high · 4 medium
Median wait
4.1h
within service level
Cleared without you
214
96.8% no claim detected
Generation throttled
Yes
queue above 6 items
Leaves yellowing from the tip, 40 days after transplant Direct question · photo attached · Long An · waiting 6h 12m
High consequencenever auto
What ward drafted, and held

"Likely nitrogen deficiency at this stage. Consider a foliar application."

Model confidence0.81
Claim typeDiagnosis + treatment
Resolved to a sourceNo
Why confidence did not release it

Yellowing tips at 40 days matches nitrogen deficiency, bacterial leaf blight and water stress. The model is confident and the three responses are different, so consequence decides.

ApproveCorrect and sendRequest field visit
Rice blast: three things to check this weekVideo draft · Rice Farming TH · two claims · waiting 4h
Needs reviewheld
Fourteen replies cleared automatically
Thanks · opening hours · where to buy · no agronomic claim detected
auto · no action
NEW SURFACE 02 · VOICE BANK: accent

A country dropdown cannot act on an accent finding

Why it exists

Accent carried most of the localisation effect. Picking “Vietnamese” gives you a Hanoi voice, which in the delta is the capital-city problem one level down.

What it does

Voices contributed by field teams, indexed by province. Selection is a measured distance from the audience's own speech.

Autonomy

Matching is automatic. Where nothing sits close enough it says so instead of falling back, because a wrong accent is worse than a neutral one.

‹ ›
⌁app.channel-os/voice-bank

Voice bank

62 contributed voices · consent on file · indexed by province
accent · matching on distanceAdd a voice
VoiceSpeaks likeDistanceConsentAssigned
TG
Tiền Giang · female 40sfield team · 4m 12s sampled
Miền Tây
0.08nearest
On file3 channels
BT
Bến Tre · male 50sfield team · 3m 40s sampled
Miền Tây
0.14acceptable
On file1 channel
SG
Sài Gòn · male 30sstudio · 6m 02s sampled
Miền Nam
0.31city, not delta
On file2 channels
HN
Hà Nội · female 30snational default
Miền Bắc
0.61reads as outsider
On fileNot used here
ĐL
Đắk Lắk · noneno contribution yet
n/a
n/ano voice
n/ablocked
Match for Long An · rice auto
Audience speaksMiền Tây
SelectedTiền Giang · 0.08
Runner-upBến Tre · 0.14
National defaultRejected · 0.61
Close enough to pass

Below the 0.20 threshold. Applied to every asset this channel produces.

Đắk Lắk · coffee no match
No voice within threshold

The nearest contributed voice is 0.44 away. The system won't substitute the national default. Recruit a local contributor, or publish faceless with captions.

NEW SURFACE 03 · EARLY SIGNAL: scout

By the time it trends, the same video is everywhere

Why it exists

Trends tell you what already happened. The farmers who needed that content acted a fortnight ago, and every channel in the country is now posting it.

What it does

Groups incoming comments and searches by province and crop, and watches for a group growing where it wasn't. Checks it against the farming calendar.

Autonomy

Spotting it is automatic. Acting on it isn't. A new group with no seasonal basis goes to an agronomist before anything is drafted.

‹ ›
⌁app.channel-os/early-signal

Emerging, not yet trending

Clustered from comments and searches · 13 provinces · rolling 14 days
scout · clustering hourlySend to agronomy
Cluster 0231 needs a check
Question patternStem base browning
Districts3 adjacent
First seen9 days ago
Growth▲ 6× in 5 days
Platform-wide trendingNot yet
Matches calendarYes · stem borer window
Worth getting ahead of

Spread across several places, seasonally plausible, and nobody is posting about it yet.

Cluster 0229 watching
Question patternPrice of urea
Districts11 spread
First seen21 days ago
Growth▲ flat
Platform-wide trendingYes
Matches calendarn/a · commercial
Already saturated

The topic is already saturated. No advantage in adding to it.

Cluster 0234 escalated
Question patternLeaf curl, unusual pattern
Districts2 adjacent
First seen4 days ago
Growth▲ 11× in 3 days
Platform-wide trendingNo
Matches calendarNo · out of season
Sent to agronomy, no content drafted

Fast growth with no seasonal basis is either a new problem or a misidentification. Both need a person before anything is published.

Why this matters commercially

The agronomy team asked for access to this screen before the commercial team did. Early clusters are the only part of the platform producing something the company couldn't already buy: a read on what's happening in fields, ahead of the field force.

NEW SURFACE 04 · CLAIM RESOLUTION: ward

Compliance as a lookup, so it can be tested

Why it exists

The hidden rules we wrote with legal stop the model saying certain things. Prohibitions are hard to test and easy to route around as prompts get longer.

What it does

Every claim gets matched against the registered label for that province or an approved document. What can't be matched is stripped or sent for review. Registration varies by province, which was previously unanswered.

Autonomy

It runs on every video, with a log. A nightly test suite runs against the rules, and a failure blocks the release.

‹ ›
⌁app.channel-os/claims

Claim resolution

Last 24 hours · 1,204 generations · 3,880 claims extracted
ward · on every generationExport log
Resolved, shipped
3,412
87.9% source logged
Stripped
344
sentence removed, draft continued
Routed to review
124
rate, timing or diagnosis
Regression suite
Pass
418 / 418 red-team prompts
Claim extractedTypeResolved againstProvinceOutcome
"Brown planthopper appears earlier in warm seasons"Agronomic factApproved technical note 118Allshipped
"Check the stem base this week"Timing, generalSeasonal calendar · MekongLong Anshipped
"Most effective product on the market"EfficacyNo sourcen/astripped
"Apply 30 ml per 16 litre tank"RateLabel VN-2291Long Anreview
"Fungicide A controls this"ProductNot registered in PhayaoPhayaoblocked
Nothing was cut to make this work

The features stayed and the floor moved up. Legal helped design the rules instead of reviewing output, which is a far better use of them and the reason this works past one market.

NEW SURFACE 05 · ALLOCATION: dial

The factor test, running by itself, per province, forever

Why it exists

The factor test cost a season and the answer is already going stale. Audiences shift, sounds change, a voice that lands in one province drifts in the next. Doing it by hand across eight markets isn't realistic.

What it does

Each local variation is an option, posting volume is the budget, and the split shifts nightly toward what works in that province. The others keep a small share.

Autonomy

A person sets the options and defines the goal. The machine only decides how much to spend on each.

‹ ›
⌁app.channel-os/allocation

Allocation · Long An

Week 6 · converged · reallocated nightly at 02:00
dial · spending 18 posts / dayEdit armsReward settings
Where the budget went auto
Accent B · Tiền Giang voice54%
Music · regional set22%
Tone · light argument13%
Accent A · national6%
Tone · formal5%
Exploration floor held at 5%

The losing options keep a slice, so the system notices when the audience shifts. Converging with no floor is a trap.

Reward · what it optimises for
Watch-through past the hook40%
Threads opened from the end card40%
Codes scanned at the counter20%
Views, likes, followersexcluded
Why engagement is excluded

Reward views and it finds rage bait within a fortnight, and it'll be right to. Only a person can change this.

Across markets
Long An · riceConverged wk 6
Chiang Rai · riceConverging wk 3
Maharashtra · cottonConverged wk 8
Đắk Lắk · coffeeNot started no voice

From one market to eight

The product works in one province. Whether it's a business depends on how little has to be rebuilt for the next one.

Part V

Market nine should cost a fraction of market one

What makes it a business is the part that builds up: the data the platform collects, and the things that only become possible once you hold it.

None of it can be bought. It only exists if you run the platform and read what comes back.

the rulesexpert reviewcontent systemthe channelsmarket oneevery layer laid down from nothingmarket 2market 3market 4market 5market 6market 7market 8no voice · not startedCARRIED INTO EVERY MARKETVOICEWORDSLABELSPERSON
Fig. 25. Market one built from nothing. The rest sit on ground that already exists.
36 · what accumulates

Data that didn't exist before

Four sets of data build up just from running it, and each one makes something further down this page possible.

All four are by-products of running the channels.

01 · FARMER QUESTIONS9,000 A MONTH, CLUSTERED BY PROVINCE86%02 · REGISTER PERFORMANCEONE OBSERVATION PER POST72%03 · REVIEWED DECISIONS120 A MONTH, LABELLED BY AN EXPERT44%04 · INTENT TO COUNTERTHIN, AND THE ONLY CHAIN THAT REACHES A SALE18%
Fig. 26. The field is the bottom plane. Everything above accumulates because it exists.
Farmer questions, by province

Every comment sorted, grouped and dated. A running map of what's worrying people, district by district, ahead of the field force.

~9,000 / month → demand sensing
Register performance

Which accent, vocabulary, music and tone hold attention in which province. The output of every night the system runs.

One per post → warm start
Reviewed agronomic decisions

Every queue item an expert approved, corrected or rejected, with the reason attached.

~120 / month → raising the auto line
Intent to counter

Comment to thread to scan, with the post, province and crop attached. The only chain in the whole system that reaches a sale.

Thin, most valuable → cost to sale
37 · cross-market transfer

Only four things don't transfer

A new province inherits settings, hook patterns and a content calendar from the market most like it, then the system corrects them within weeks. What has to be built fresh is a short list, and that list is the real cost of a market.

20406080100M1M2M3M4M5M6M7M883% CHEAPER BY MARKET EIGHTCOST TO STAND UP A MARKET · INDEXED TO THE FIRST
Fig. 27. Cost to stand up a market, against the first one.
Voice bank
Contributed and consented, province by province
Pest lexicon
The words farmers use there
Registered product list
Varies by province, not by country
A named agronomist
Without one, nothing leaves seeding