The Hunta marketing bible
Every asset, script, number and rule for selling Hunta, on one page. Copy buttons everywhere. Numbers are live production data, verified 2026-09-23 against the running pipeline (state branch, current Actions runs) — refresh from the latest hunt log before each campaign. The offer on the table is always the free demo: 1 candidate, free forever, no card.
11 returning live results on the last run
Graphics
The stack in one breath
Hunta hunts 17 job boards by default (22 supported) four times a day across South Africa, Zimbabwe and Zambia, scores every ad against the candidate's real profile, drafts a tailored cover letter and a country-formatted CV as PDFs, and posts ONE card to your Discord. You tap approve — it sends from the candidate's own Gmail. You tap reject — the PDFs are deleted on the spot. Nothing sends without you, nothing is invented, drafts die at 72 hours, and the whole thing hosts for $0 on GitHub Actions. The demo is free forever: one candidate, no card — 25 drafts + 5 sends per rolling 30 days, the exact same build the paying tiers run. No fetch waits longer than 45 seconds, no provider longer than 30, no run longer than 35 minutes — a hunt finishes or fails loudly, with the log streaming the whole way.
House rules for everything we publish
1. The human is the hero. Hunta is the tool. Never "our AI got her the job." 2. Lead with the card (the product) and the tap (the trust). 3. Show the 72 h purge and the 20/day cap unprompted — they answer the two fears. 4. The demo is free forever; say so in every CTA. Never "free trial." 5. No "revolutionise / game-changer / guaranteed interviews / bot." 6. Southern-African specifics (SAIPA, SARS eFiling, VAT201, NRC, EcoCash) signal we know the market. 7. One CTA per post: the demo link. A reply keyword is allowed as the secondary. 8. Numbers are dated. Refresh before posting; stale stats are lies.
Product, precisely
Sell what it does, not what AI does. This section is the source of truth for every claim elsewhere in the bible.
The loop, step by step
| Step | What happens | Sells because |
|---|---|---|
| 1 · Hunt | 06:00/10:00/14:00/18:00 SAST Mon–Sat; 18 board integrations; public search only, no LinkedIn login | "it never sleeps and never forgets a board" |
| 2 · Filter | rules (location, exclusions, keyword) then a zero-cost pre-score (seniority, country, years) — throws out ~85% before any AI spend | "your API bill stays in cents" |
| 3 · Score + draft | ONE LLM call per shortlisted ad: relevance 0–1, one-sentence reason, letter, tailored CV. Hard-forbidden from inventing anything | "it can't lie — check the letter against the CV" |
| 4 · Render | country-formatted PDFs: cv_za (ID/EE/licence), cv_zw, cv_zm + cover letter; company names de-shouted ("SINOGY POWER PTY LTD" → title case) | "it knows what a ZA CV looks like" |
| 5 · Card | Discord (primary) or Telegram (secondary): title, company, match %, reason, link, both PDFs, ✅/❌ | "your whole pipeline fits in one notification" |
| 6 · Tap | ✅ sends via SMTP from the candidate's own mailbox (20/day cap, reply-to them). ❌ deletes PDFs. Signed links expire with the PDFs | "nothing sends without you" |
| 7 · Purge | PDFs deleted on send/reject and purged at 72 h; the letter text lives in the DB only while a tap is pending, is NULLed the moment you decide, and untouched drafts expire after 14 days; settled rows expire at 60 days | "zero retention is the privacy story" |
Boards matrix (22 registered, 17 on by default; status 2026-09-17, updated 2026-09-27)
| Board | Region | Status |
|---|---|---|
| Adzuna | ZA | ✅ API; 51 ads in the 2026-09-27 dry run (no ZW/ZM index) |
| Google for Jobs (JSearch) | all | ✅ API (free tier: 200 calls/month) |
| PNet | ZA | ✅ 31–68 ads/run |
| CareerJunction | ZA | ✅ 14–38 |
| JobMail | ZA | ✅ category browsing, ~6 matches/run |
| Careers24 | ZA | ⚪ supported, off by default: 403 from GitHub IPs |
| Bizcommunity | ZA | ✅ 0–3 |
| LinkedIn jobs search | all | ✅ 2–15, guest/public only |
| Himalayas · Jobicy · Remotive | remote | ✅ country-aware; drops region-locked ads |
| VacancyMail | ZW | ✅ 6–7 |
| iHarareJobs | ZW | ✅ 4 |
| JobsZimbabwe | ZW | ✅ 7 |
| GoZambiaJobs | ZM | ✅ 3 |
| Impactpool | ZW · ZM | ⚠️ on by default, opportunistic (often 0) |
| UNjobs | all | ⚪ supported, off by default: 403 on runners |
| ReliefWeb | ZA · ZW · ZM | ⏳ on by default; returns nothing until its API name is approved |
One dead scraper never kills a run — each hunter fails alone and the log says "[hunter:x] 0 jobs". Say "coverage degrades gracefully" if asked. Ad ranges measured 2026-09-17 and re-confirmed 2026-09-23 against current runs: supply is decaying on the ZA/ZW seed tenants (backlog depletion + pnet DNS + ZW burnout), so the ranges below are the ceiling, not the floor.
CV designs (in the demo — show them, don’t describe them)
Per-candidate field, three ways to set it (YAML / hunta design / dashboard
dropdown). Rendered samples: classic ·
indigo · emerald ·
sunset — side-by-side gallery inside
setup.html §8.
Guard-rails (say these unprompted)
• Nothing sends without a human tap — there is no auto mode, it does not exist. • The writer may only reorder/rephrase the profile; inventing is hard-forbidden. • Four CV designs (classic · indigo · emerald · sunset), chosen PER CANDIDATE — the coach picks the look, the letter stays business-plain, every design ATS-parseable. • 20 sends / candidate / day — the candidate's Gmail reputation is sacred. • PDFs: deleted on send/reject, purged at 72 h. Untouched drafts expire after 14 days. • Store: job metadata + status, plus the pending draft — text NULLed and PDFs unlinked the moment of approve/reject; settled rows expire at 60 days. Candidate = one YAML = right to erasure; tenant = one file = rm. • No LinkedIn login, no profile scraping — public job search only. • Gmail = app password over SMTP; no Google Cloud project, no OAuth, no consent screen. • Hosting default = two GitHub Actions workflows; $0, no card, nothing to sleep. • Hard time budgets everywhere: 45 s per URL total, 30 s per LLM provider then instant failover, 35 min per run — a stalled hunt is a logged failure, never a silent freeze. • Candidate documents never enter the git state branch: state is metadata-only by code, and the runner untracks any stray PDF before every snapshot. • --dry never marks a job seen: testing cannot eat tomorrow's leads. • Demo caps are code, not policy — an atomic ledger in the same wheel; at the cap the approve button itself pitches the upgrade.
Architecture one-liner (for technical buyers)
hunters (18) → rule filter → zero-cost pre-score → ONE score+draft LLM call → Jinja2/WeasyPrint PDFs (ZA/ZW/ZM) → SQLite (metadata only) → Discord card → signed approve/reject → SMTP send from the candidate's mailbox → purge. The application ledger lives on a private git branch as a single squashed snapshot commit; candidate documents never enter git. Secrets Fernet-encrypted at rest. Every network call runs under a wall-clock budget (45 s URL / 30 s provider / 35 min run) with unbuffered streaming logs. Optional bare operator dashboard gated by HUNTA_ADMIN_TOKEN; hosted-customer control center on a Cloudflare Worker + D1 (free tier, opt-in); self-hosted licence via Cloudflare Worker (read-only on expiry, never bricked).
Market & ICP
Why now
• Job search in ZA/ZW/ZM is still board-by-board, manual, and tab-heavy — the pain is weekly and universal. • Coaches charge per bundle (R600–R1500) but eat hours producing them — margin is time. • AI made drafting cheap, but trust did not follow: the market rewards the tool that keeps a human in the loop and can prove it. • Hosting collapsed to $0 (GitHub Actions), so a full pipeline can be given away free — the demo IS the marketing budget. • Payments localised: Whop cards/crypto, Lightning via coinos, Mukuru grants — the rails the region actually uses.
ICP personas (who we sell to, in order)
| Persona | Pain | Wedge line | Tier target |
|---|---|---|---|
| Solo career coach | capacity: every extra candidate is an extra Sunday | "the demo gives you one candidate on autopilot-with-a-brake" | Demo→Solo |
| CV / job-search studio | margin on bundles; writers type instead of edit | "your writers edit, Hunta types — triple throughput at the same price" | Studio |
| University career centre | thousands of students, six staff, reporting to a dean | "the card format is the report your dean wants" | Sovereign |
| Outplacement firm | bill judgement, not tab-management | "the audit trail (match %, approve timestamps) goes into client reporting" | Sovereign |
| Recruiter → coaching | ATS muscle memory, wrong side of the table | "the candidate-side desk" | Solo/Studio |
| NGO / workforce programme | donor reporting + scale | "every approved send is a data point for your funders" | Sovereign |
Pain economics (the maths you say out loud)
One coach, three candidates, six boards, four hunts a week ≈ 8–12 h of hunt-and-rewrite. At a conservative R350/h of billable coaching time, that's R3 000–R4 200 of unsellable hours a month. Solo is $306 a month (about R4,999) — bill it to the client whose three candidates it runs, and it's a line item, not an expense. The demo is R0. The maths sells itself — say it plainly.
Offer & pricing (decided)
Pricing (owner decision 2026-09-27: USD at the rand value of the 2026-09-23 memo tiers): Solo $306/mo (about R4,999), Studio $613/mo (about R9,999), Sovereign $920/mo (about R15,000); annual prepay saves 25% (Solo $2,754/yr, about R45,000). Lightning is LIVE (SharkSkin@coinos.io, LUD-16-verified); Mukuru/EFT carries the real number. Whop one-tap checkouts are LIVE — Solo ch_abZZn55zTTq9VO0, Studio ch_xXwDxquSJP2Ctwu, store whop.com/jacaranda-labs. Billing enforcement (FREE_MODE) is now FAIL-CLOSED: every tenant hunts on a real grant (`hunta billing grant`), starting with the seeded founder record. Manual rails stay honoured.
Rationale (so every seller believes the numbers)
• Demo R0 forever is the marketing budget: ~1 hunt-minute/day on Actions, cents of LLM on the customer's own key. Upgrade trigger is natural — the second candidate. • Solo $306/mo (about R4,999) ≈ 3–5 CV-and-letter bundles at prevailing coach rates (R600–R1500) plus the 8–12 h of hunt-and-rewrite time it deletes. The memo's month-1 maths: 4 × $306 (about R4,999) ≈ R20k. • Annual prepay is the close that funds the build: $2,754/yr (about R45,000, 25% off) — one deal ≈ $2.75k, cash now beats MRR while the runway is $0. Offer it everywhere; never discount monthly. • Studio $613 (about R9,999) is priced for throughput: a studio earns it back in one extra order a week; white-label PDFs are the wedge (studios sell their brand). • Sovereign $920 (about R15,000) undercuts a junior recruiter-day and kills the two real agency objections: data residency and lock-in. Onboarding day included because self-host failures are support tickets. • Never discount monthly in public; annual is the only lever. Private discounts for universities, NGOs, cohorts of 10+. • Never per-send pricing — it incentivises spam and contradicts the guard-rails story.
Money one-liners
• "The demo is free forever. You upgrade when your second candidate asks for it — that's the whole sales funnel." • "Solo is $306 a month (about R4,999) for three candidates — two or three CV bundles at your rates, and the 8–12 hours of typing is gone. If it doesn't earn its keep, cancel in the app, no retention call." • "Annual prepay is $2,754 (about R45,000) — three months free. One payment, and we provision you same day." • "Sovereign costs less than a junior recruiter's Tuesday." • "No server, no card: ~100 GitHub Actions minutes a month. Your margin is the coaching, not the compute."
Outreach
Full library in copy/cold-outreach.md. The demo link is the CTA everywhere.
Email 1 — coach
Subject: the 40 open tabs
Hi {{first_name}},
I'll keep this short because your week looks like this: PNet, CareerJunction,
VacancyMail, iHarareJobs — read every ad, decide "is this Thabo?", rewrite the
same cover letter for the 30th time, attach, send, repeat.
That's the job nobody bills for.
I run a small tool called Hunta that does that part. It checks 17 job boards by default (22 supported)
across South Africa, Zimbabwe and Zambia on a schedule, matches every advert
against each candidate's real profile, scores the fit, and drafts a tailored
cover letter + a country-formatted CV as PDFs. It lands in a private Discord
channel as one card:
🔎 Bookkeeper @ Elite Search & Selection — Match 90%
[✅ Approve & send] [❌ Reject]
You tap. Nothing sends without you, nothing is invented, drafts self-delete
after 72 hours.
You don't need me to start — the demo is free forever, one candidate, no card:
https://gethunta.pages.dev/demo
And if you'd rather have a human: 20 minutes this week?
— {{your_name}}
P.S. It hosts on GitHub Actions for $0. The demo includes the boring
"what does this cost me" answer up front: R0.Email 2 — day 3
Hi {{first_name}},
One honest follow-up: the thing coaches ask first is "does it auto-apply?" — no.
Every application is your tap on ✅. Hunta is a pipeline for your judgement,
not a replacement for it.
The demo is free forever if you'd rather just look:
https://gethunta.pages.dev/demo
Still worth 20 minutes?
— {{your_name}}Email 3 — day 7 value drop
Hi {{first_name}},
No ask this time — just the stat that convinced me: in a real week, the pipeline
surfaced 90+ ads for one accountant candidate. Rules + pre-scoring threw out 85
of them for free. The AI only saw the shortlist.
Triage at machine scale, judgement at human scale.
Demo (free forever, one candidate): https://gethunta.pages.dev/demo
— {{your_name}}WhatsApp cold
Hi {{name}}, {{your_name}} here. I build tools for career coaches. Quick question:
how many hours a week do you spend rewriting the same cover letter across PNet /
CareerJunction / the ZW boards?
I've got a tool that does the hunt + draft and waits for your tap — nothing
sends without you. Free demo, one candidate, forever, no card:
https://gethunta.pages.dev/demo
Reply "help" for a 10-min setup call. If not your world, sorry for the ping 🙏Candidate-facing (coach recruits pilots)
FREE for every job seeker 🎁
Hunta hunts jobs for you across the big boards in {{country}}, shortlists what
actually matches your profile, and writes a tailored letter + CV for each one.
You (or your coach) approve every single application before anything goes
anywhere. Where the ad takes email, your letter goes out from YOUR email;
portal-only ads come to you as a ready-to-submit apply pack. Nothing is ever
sent without a yes.
Grab it: https://gethunta.pages.dev/demoLinkedIn DM
Hi {{name}} — saw your post on {{topic}}. I'm running a small pipeline that does
the board-sweep + letter-drafting part of coaching and leaves the approve-tap to
the human. 41 applications through it last week, zero auto-sends. The demo is
free forever (one candidate, no card):
https://gethunta.pages.dev/demo
If not your world, carry on 🙂Sales scripts
The complete library, embedded verbatim from copy/sales-scripts.md
(2026-09-19) — every script below, nothing held back in the repo. Copy buttons work on all of
them. The offer on the table is always the free demo.
Every script assumes the free demo is the offer on the table: anyone gets it, no card, no call required. The paid conversation only starts after they've seen a card land.
Voice rules (BRAND.md): plain, specific, the human is the hero, never "bot", never "guaranteed interviews". The word demo means free forever tier — 1 candidate, 5 sends a month — not a time-boxed trial.
0 · The offer stack (memorise this)
| Tier | Price | What |
|---|---|---|
| Demo | R0 forever | 1 candidate, full pipeline, 5 sends/month, Discord card + PDFs |
| Solo | $306/mo (about R4,999); annual $2,754/yr (about R45,000) | 3 candidates, 100 sends/mo |
| Studio | $613/mo (about R9,999); annual $5,517/yr (about R90,000) | 15 candidates, white-label PDFs |
| Sovereign | $920/mo (about R15,000); annual $8,280/yr by bank wire | agency self-hosted, unlimited seats, onboarding day |
Anchor line: "The demo is free forever. You upgrade when your second candidate asks for it — that's the whole sales funnel."
1 · Phone
1.1 Gatekeeper
"Hi, it's {{you}} — I'm not selling anything today, I'm trying to send {{coach}}
a free demo of a tool that does their board-sweeping for them. What's the best
email to put it on so it doesn't die in a folder?"1.2 Cold opener (coach on the line)
"{{name}}, {{you}}, thirty seconds, then you hang up on me if it's rubbish.
You spend your week opening six job boards and rewriting the same cover letter.
I run a small pipeline that does that part: it hunts the boards four times a day,
drafts the letter and CV, and drops ONE card in your Discord. You tap approve.
Nothing sends without you.
I'm not asking for money. I'm asking you to take the free demo — one candidate,
free forever — and watch three cards land. If they're worse than your Tuesday,
delete it. Did I earn the right to send the link?"1.3 Voicemail
"{{name}}, {{you}}. One line: there's a free demo of a tool that drafts your
candidates' applications and waits for your tap — nothing sends without you.
The link is in the SMS I just sent. That's the whole message."Then SMS: Hunta demo (free, no card): https://gethunta.pages.dev/demo — 1 candidate, free forever.
1.4 Discovery questions (use in order, shut up after each)
1. "Walk me through one candidate's week with you right now — boards, letters, sends." 2. "How many hours of that is hunt-and-rewrite, honestly?" 3. "What happens when you're fully booked — which candidates get thin service?" 4. "If the hunt-and-rewrite vanished tomorrow, what would you do with those hours?" *(this is the one that sells; let them say it)* 5. "Who approves what goes out today?" *(answer is always "me" — that's the product)*
1.5 The close on the phone
"Okay. Here's what I'm NOT going to do: quote you a price on this call. Set up the free demo now while we're on the phone — ten minutes, I stay on the line. You pick one candidate and one keyword. First card lands by the next hunt slot — four times a day. When you've tapped approve on a real send, then we talk about Solo at $306 a month (about R4,999) — three candidates on the same machine. Fair?"
2 · Video call (20 minutes)
0-2 "Two promises: no deck, and you leave with the demo running whether you buy or not."
2-6 Their Tuesday. Take notes visibly. Repeat their number back:
"So that's roughly {{N}} hours a week of hunt-and-rewrite."
6-12 LIVE CARD. Open Discord. Read it like a waiter reads specials — slow, pointing.
Open the letter. "Second paragraph names the company. Check the CV — same facts,
reordered. It's forbidden from inventing."
12-15 The tap. Approve one. Reject one. "Deleted. Untouched cards die at 72 hours."
15-18 The three fears, unprompted: no auto-send, no invention, no spam (own mailbox,
20/day cap).
18-20 "Price is $306 a month (about R4,999) for three candidates when you're ready. The demo is free forever
with one. I'll set it up now or send the link — your call."3 · WhatsApp sales sequence (5 touches, stop on any reply)
T0 Hi {{name}}! Quick one — I run Hunta, a pipeline that drafts job applications
for your candidates and waits for your tap. The demo is free forever, one
candidate, no card: https://gethunta.pages.dev/demo
Want me to set it up with you on a 10-min call instead?
T+2d (if silent) The thing everyone asks first: "does it send by itself?" No —
every application is your ✅. The demo shows you three real cards before you
decide anything.
T+5d (if silent) One number, no pitch: last week the pipeline drafted 41
applications across 3 candidates. Every one human-approved. That's the demo,
running.
T+9d (if silent) Last nudge, promise. If the 40 tabs aren't your problem, ignore
me happily 🙏 If they are: https://gethunta.pages.dev/demo
AFTER DEMO SIGNUP (day 3) First cards landing? The reject button is the most
important one this week — it teaches the matcher your taste.4 · In-person (career fair / chamber event)
30-second booth pitch
"We do the forty-tabs part of job hunting. You give it one candidate and one keyword; it checks seventeen boards by default, out of twenty-two it supports, four times a day, drafts the letter and CV, and asks your permission before anything sends. Demo's free forever — scan this." → QR to https://gethunta.pages.dev/demo
Booth demo loop (tablet, on a loop, sound off)
Discord open → card lands → tap ✅ → send confirmation → tap ❌ on the next one → "deleted". Run it continuously; movement sells.
The question you'll get: "so it applies automatically?"
"No — and that's the pitch. Everything waits for a tap. Coaches who were scared of AI tools are our best customers, because we're the only one that kept them in the loop."
5 · DM scripts
LinkedIn (after they accept)
Thanks for connecting, {{name}}. Straight to it: I run a free demo of a pipeline
that does board-sweeping + letter-drafting for coaches — 41 applications through
it last week, zero auto-sends. If your practice touches ZA/ZW/ZM job seekers,
the demo costs you one candidate and nothing else: https://gethunta.pages.dev/demo
If not your world, genuinely happy to just follow your posts.X / Discord / Telegram communities
Built a thing for career coaches in southern Africa: it hunts 17 boards by default (22 supported), drafts the letter+CV, posts one card, waits for your tap. Free demo forever, no card. Link in my bio / here: https://gethunta.pages.dev/demo. AMA about the guard-rails.
6 · Persona scripts
Solo career coach
Pain: capacity. "You're the bottleneck — every extra candidate is an extra Sunday." Pitch: "The demo gives you one candidate on autopilot-with-a-brake. When card number four lands and you've only spent one tap on it, $306 (about R4,999) for three candidates is the easiest yes of your month."
CV-writing / job-search studio
Pain: margin on bundles. "You charge R600–R1500 per CV-and-letter bundle and eat hours writing them. Hunta produces the bundle in minutes with your brand on the PDF (Studio tier). Your writers edit instead of type — you triple throughput at the same price."
University career centre
Pain: thousands of students, six staff. "Run the demo on one faculty's honours cohort. The card format is the report your dean wants: matches, reasons, approvals. Sovereign tier keeps every byte on your own box — your compliance office will love that sentence."
Outplacement firm
Pain: billable hours vs. outcomes. "Your consultants bill for judgement, not tab management. Hunta frees the judgement hours; the audit trail (match %, approve timestamps) goes into your client reporting."
Recruiter moving into coaching
Pain: ATS muscle memory. "You know what an ATS is for — employers. This is the candidate-side desk. Same discipline, opposite direction."
NGO / workforce-development programme
Pain: donor reporting + scale. "Every approved send is a data point for your funders: who, where, match %, outcome. Demo one cohort; the reporting story writes your next grant."
7 · Objection scripts (short, repeatable)
"Does it apply by itself?" → "No. There is no auto mode. Every send is your tap — that's a design guarantee, not a setting. The demo will show you the ❌ working too."
"AI letters are generic." → "Open the sample. Second paragraph names the company and mirrors two real requirements. Now show me the letter they wrote at 11pm — same one, thirty employers. That's generic."
"My Gmail will get flagged." → "Sends go from the candidate's own address, to real ads, human-approved, capped at 20 a day. That's cleaner than most manual spraying — the cap is the feature."
"It's expensive." → "The demo is R0 forever. Solo is $306/mo (about R4,999) — two or three bundled CV-and-letter sales at your prices. If Hunta doesn't produce one bundle a month, cancel in the app, no email needed."
"I already use ChatGPT." → "Great — you've felt the magic and the maintenance. Who sweeps the boards at 06:00? Who purges the PDFs? Who keeps the three countries' CV formats current? Hunta is the difference between a prompt and a pipeline."
"My candidates won't trust it." → "The employer gets a normal email from the candidate's own address. The candidate sees their own letter in the card before it flies. The only new thing in their life is that Tuesday got shorter."
"We're an agency, data can't leave." → "Sovereign. Your box, your cloud, licence checked daily, read-only on expiry, never bricked. Data never leaves."
"Boards will block it." → "They try; we degrade gracefully. Each hunter fails alone — last run, one board 403'd and the other ten delivered. You never get a dead pipeline, just a shorter list that day."
"I don't have time to set it up." → "Ten minutes, and I stay on the call. Webhook, app password, one YAML. If we're not live in ten minutes I owe you a coffee voucher."
"What's the catch with free?" → "The demo is the marketing budget. One candidate free forever, five sends a month. Your second candidate is my invoice."
"Send me information." → "Better: the information is a working demo. Ten minutes on your phone, free forever. I'll send the link and stay available — you'll learn more from one card than any PDF I could attach."
"Who else uses it?" → "We're early — you'd be one of the first in {{country}}, and I'll say that plainly. What you get for that: my personal number, and pricing locked for a year."
8 · Closing scripts
Pilot close: "One candidate, one week, free. If the first three cards aren't better than your current Tuesday, walk away and I'll still send you the boards list."
Alternative close: "Solo or Studio — do you want three candidates or fifteen? Either way the demo is where we start."
Assumptive close (post-demo): "Which candidate goes in first — the accountant or the marketer? I'll add the YAML while you pick the keyword."
Takeaway close: "Honestly, if you enjoy the 40 tabs, don't take the demo — it'll bore you. This is for people who'd rather coach."
Deadline close (honest): "The hunts run 06:00/10:00/14:00/18:00. Set it up before 14:00 and you'll see your first card with your coffee."
Silence-breaker close: "You've had the demo three days. One question: what did the reject button teach you? (That's the real product, by the way.)"
9 · Post-demo growth scripts
Upgrade nudge (day 7, WhatsApp)
Week one: {{cards}} cards, {{sends}} sends. Question — how many candidates are
sitting on your bench right now without a pipeline? Solo puts two more on this
exact machine for $306 a month (about R4,999). One tap: https://whop.com/checkout/ch_abZZn55zTTq9VO0/Upsell Solo→Studio
You've maxed three candidates twice this month. Studio is $613 (about R9,999), fifteen seats, and your PDFs get YOUR brand on them. Your bench called.
Referral ask (after first interview reported)
That interview made my week. One ask: name one other coach who still does the 40 tabs. If they take the demo, your next month is on me — Whop handles it automatically, no codes.
Win-back
The boards kept running. PNet alone moves ~70 finance ads a week in Gauteng. Your files were never hostage — they're YAMLs, they're yours, they're waiting. Same link, same free demo, no awkwardness: https://gethunta.pages.dev/demo
10 · Follow-up cadence (the machine)
| Day | Channel | Content |
|---|---|---|
| 0 | call/DM | opener → demo link |
| 0+1h | SMS/WhatsApp | landing link, one line |
| 2 | "does it auto-apply?" answer | |
| 5 | value drop: the 41-applications stat | |
| 9 | last nudge, permission to ignore | |
| demo+3 | "what did the reject button teach you?" | |
| demo+7 | upgrade nudge with their numbers | |
| demo+30 | renewal courtesy | |
| +45 | win-back |
Rule: any reply resets the sequence to a conversation. Scripts are openers, not cages.
Lifecycle emails
Full set in copy/email-sequences.md.
Demo welcome (instant)
Subject: your free demo is live — 3 clicks to first card
Hi {{name}},
Your demo pipeline has a home. Three things, ten minutes:
1. DISCORD — #hunta → Integrations → Webhooks → New → paste the URL.
2. GMAIL — 2-step on, then myaccount.google.com/apppasswords → 16 characters.
(No Google Cloud project, no OAuth. Outlook/Zoho work the same.)
3. CANDIDATE — one YAML: name, country, location, keywords, exclusions.
Proven starter: accountant/bookkeeper + your city; exclude intern/unpaid.
Hunts run 06:00/10:00/14:00/18:00 SAST Mon–Sat. First card lands within hours.
The demo is free forever — upgrade only when your bench asks for it.
— The Hunta deskDay 2 — expectations
Subject: what a good first 48 hours looks like • A handful of cards, not hundreds — quiet days are healthy days. • Reject a few. Rejections teach the matcher your taste and cost nothing. • Your first "holy cow it named the company" moment, usually card 2 or 3. Tuning tip: exclusions beat keywords. "intern / unpaid / commission only" removes more garbage than any keyword adds. — The Hunta desk
Day 7 — nudge to Solo
Subject: your week in cards
{{cards}} cards, {{approved}} approved, {{rejected}} rejected.
Question worth $306 (about R4,999): how many candidates are sitting on your bench right now
WITHOUT a pipeline? Solo puts two more on this exact machine.
(And if a card got someone an interview — tell me. That's the only metric I care about.)
— The Hunta deskRenewal + win-back (short)
Renewal: "Month two begins tomorrow — {{price}} via Whop. Your month: {{cards}} cards,
{{sends}} sends, {{hours_saved}} coaching hours back. Cancel in-app, no retention call."
Win-back: "The boards kept running — PNet alone moves ~70 finance ads a week in Gauteng.
Your files were never hostage; they're YAMLs, they're yours. Same free demo, no awkwardness."Demo & video
The 5-minute demo (beats)
0:00 PAIN "Show me your Tuesday. Six boards, forty tabs."
0:30 CARD Open Discord; read it slow: role, one-line reason, PDFs, buttons.
2:00 TAP Approve live → "sent from their own Gmail". Reject → "deleted on the spot."
3:00 FEARS no auto-send · no invention · no spam (own mailbox, 20/day cap).
4:00 MONEY "$0 hosting. Demo R0 forever. Solo $306 (about R4,999) when your bench asks."
CLOSE "Set it up now while we're on the phone — first card by the next hunt slot."45-second video — shot list
0:00-0:08 12 browser tabs, clock ticking. "Tuesday, 6 boards, 40 tabs." 0:08-0:18 Discord: card appears. "Hunta hunted so I didn't. Match 90%." 0:18-0:28 Letter PDF scroll. "From the real profile. Nothing invented." 0:28-0:36 Phone: tap ✅. Sent. "My tap. Their inbox. Their own Gmail." 0:36-0:45 Logo on lilac. "Free demo forever. You tap approve. It sends."
Interactive card
downloads/demo-card.html — a live, tappable replica of the Discord card (also inside the demo kit). Perfect for booths, decks and the landing page.
FAQ
Does it apply automatically?
No. There is no auto mode. Every send is a human tap — a design guarantee, not a setting.
Will it invent experience?
No. The writer may only reorder/rephrase the profile. Check the sample CV against the sample letter, line by line.
Spam risk?
Candidate's own mailbox, real ads, human-approved, 20/day cap. The opposite of spray-and-pray.
Data?
Store = job metadata + status + the draft awaiting your tap; the tap deletes both the text and the PDFs, and settled rows expire after 60 days. Candidate documents never persist to the git state branch — the runner untracks stray PDFs before every snapshot (enforced since the 2026-09-19 hardening). Candidate file = one YAML = right to erasure.
LinkedIn?
No login, no scraping. Public job search only.
Boards?
22 boards supported, 17 on by default: Adzuna · Google for Jobs (JSearch) · PNet · CareerJunction · JobMail · Bizcommunity · VacancyMail · iHarareJobs · JobsZimbabwe · GoZambiaJobs · Impactpool · LinkedIn · Himalayas · Jobicy · Remotive, plus ReliefWeb (NGO/UN) once its API name is approved. Careers24 and UNjobs are supported but off by default (they block datacentre IPs). CVs: ZA/ZW/ZM formats.
Cost to run?
$0 default — GitHub Actions. Customer brings a free-tier LLM key + a Gmail app password. No cloud console, no card.
Why is the demo free forever?
Because the demo IS the marketing budget and the upgrade trigger is natural: your second candidate. "Free trial" implies a bill; "free forever" implies confidence.
What does upgrading unlock?
More candidates (3/15/unlimited), more sends, white-label PDFs (Studio), self-hosting (Sovereign). The pipeline itself is identical at R0.
What if a board dies?
Hunters fail alone. The run logs "[hunter:x] 0 jobs" and the rest deliver. Coverage degrades gracefully.
Can it run unsupervised without getting stuck?
That's the 2026-09-19 hardening: every URL gets a 45 s total budget, every LLM provider 30 s of politeness before instant failover, every run a 35-minute cap — and logs stream live from the first second. A hung hunt is a logged failure, never a silent freeze.
Is the free demo a crippled app?
No fork, no watermarks — the identical wheel and the same 22 supported boards (17 on by default). The ledger caps output at 25 drafts + 5 sends per rolling 30 days; at the cap, the pipeline itself tells you what upgrading buys. Licence flips the flavour env; nothing else changes.
Growth plan
30 / 60 / 90
| Focus | Targets | |
|---|---|---|
| 0–30 | Prove the demo loop. 3 communities/week posts; 20 cold touches/week; every lead gets a 24 h human reply. Collect 10 "first card" stories. | 100 demos activated · 10 Solos |
| 30–60 | Turn stories into proof. Case-study posts (with permission), referral loop live (1 month free per referred upgrade), first studio white-label showcase. | 250 demos · 30 paid · 5 Studios |
| 60–90 | Institutional: 2 university pilots, 1 outplacement Sovereign, affiliate coaches recruiting coaches (30%). PR: "the tool that refuses to auto-apply". | 400 demos · 60 paid · 2 Sovereign |
Content calendar (weekly, sustainable)
Mon LinkedIn: one real card (numbers blurred, company anonymised) + one-line lesson
Tue X: one observation from the hunt log ("85 of 90 ads died for free")
Wed WhatsApp broadcast to coach list (one stat + demo link)
Thu LinkedIn: story post (candidate win, reject-button lesson, board quirks)
Fri Community post (Facebook/Telegram/Discord) — ask for feedback, not sales
Sat Rest. The pipeline posts its own proof four times a day anyway.Partnerships & PR angles
• Universities: career-centre pilot per faculty; the card = the reporting format. • Outplacement firms: audit trail (match %, approve timestamps) for client reporting. • NGOs / donor programmes: every approved send is a fundable data point. • CV studios: white-label PDFs; their brand, your engine. • PR: "The AI job tool that refuses to auto-apply" — the contrarian hook writes itself. • PR: "Hosted on $0: two YAML files against the 40 tabs" — the bootstrapper hook. • Affiliates: coaches recruit coaches at 30% — the channel with built-in trust.
Unit economics (say it internally, not to buyers)
Demo cost ≈ 1 hunt-min/day (Actions) + cents of LLM on the CUSTOMER's key ≈ ~R2/mo. Solo $306 (about R4,999) at even 5% demo→paid conversion = R250 per demo acquired ≈ one lunch out. Churn killer: the pipeline accumulates seen-jobs history; leaving means starting blind.
Operating routine
One operator runs this alongside a client load of ten to twenty. Day one gets it going; the daily loop keeps it going. Every step cites its script — the tabs are the armory, this tab is the drill.
Day one — start here
- List 10 warm names — coaches, a CV studio, anyone you've helped with CVs. That's today's target, not a cold spreadsheet.
- §5 LinkedIn/WhatsApp DMs to all ten (Sales scripts tab — the 5-touch §3 sequence is already scheduled by the cadence table, §10).
- §1.2 opener for whoever replies — thirty seconds, then close them onto setup on the call (§1.5). You stay on the line while they run the guide. First card lands by the next hunt slot (06:00/10:00/14:00/18:00 SAST) — which is why “before 14:00” is your deadline line (§8).
- When someone says “I want this for everyone I have” → guide §12: confirm tier, take payment manually (never provision before money lands), copy a tenant YAML, flip their build off demo, ask for the day-3 screenshot.
- Keep a tally of conversations → installs → first-card-taps. That's the only dashboard you need at 10 conversations deep — template below.
The daily loop (SAST clock)
| When | Do | Why / source |
|---|---|---|
| 06:00 | Nothing — the pipeline hunts on its own. | cron 04/08/12/16 UTC; a dead board never kills a run |
| 08:30 | Ninety-second card scan: approve, reject, answer any reply on the candidate's thread. Clear the queue before your first client session. | the tap is the product; ignore = 72 h auto-purge |
| 10:00–11:00 | Outreach block: five new conversations. Scripts §1 (phone) / §5 (DM) / §6 (per persona). Log every one in the tally. | five focused > fifty sprayed |
| 13:45 | Same-day installs: get today's yes onto the setup call before the 14:00 slot so the first card lands while the excitement is fresh. Then follow-ups due per the cadence table (§10): day 0+1h, 2, 5, 9; demo+3, +7. | deadline close, §8 — honest, not fake scarcity |
| 18:10 | Run health: the evening log in sixty seconds — per-board job
counts, any 429, the breaker line, persist commit on the state branch. |
anomalies are rare and cheap to read; setup guide §11 is the decoder |
| before bed | Update the tally; queue tomorrow's ten names. The pipeline must never run dry on either end. | list decay is the real churn risk, not objection handling |
Weekly and triggered
- Monday: refresh every number you quote from the latest hunt logs — applications drafted/sent, boards delivering. A stale number is a small lie with a big trust cost.
- Wednesday: read the week's rejects — the pattern goes into candidate keywords; the matcher learns your clients' taste through the ❌ button.
- demo+30 prospects: renewal courtesy line (cadence §10) — a check-in, not a pitch.
- Any “yes, for everyone I have”: setup.html §12, in order, every time — money lands first, always.
The tally (the only dashboard)
date | who | channel | stage | next touch | notes 2026-09-19 | Rudo M. (coach, Harare) | WhatsApp | installed, awaiting 1st card | demo+3 question | picked sunset CV stages: listed → DM'd → talked → installed → first card → tapping → asked to pay → paid one line per person, updated in the before-bed slot; the funnel's health is the distance people stall at — stalls at “installed, no card” means a setup problem, stalls at “talked, no install” means a pitch problem. Fix the stage, not the people.
Standing rules
- Quote no number older than three days; numbers come from hunt logs, never from memory.
- Never provision before money lands — the manual rails are fully honoured until checkout goes live; demo-first is the promise, so nothing is ever rushed at a prospect.
- Any reply resets the cadence to a conversation — scripts are openers, not cages.
- Never say “guaranteed” of anything an employer decides. Guard-rails tab has the sentence to use instead.
Brand
Logos & assets (files in brand/)
Voice
Plain. Short sentences. Concrete nouns. Specific beats impressive. The human is the hero; Hunta is the tool. Show the limits unprompted (no auto-send, no invention, 72 h purge, 20/day cap). Never: "revolutionise", "game-changer", "AI-powered future", "guaranteed interviews", "bot". "Pipeline" / "copilot" with buyers. Southern-African specifics welcome (SAIPA, SARS eFiling, VAT201, NRC, EcoCash). Demo persona only — never screenshot a real candidate.
Sample outputs — real engine
Same templates and same letter text as a live production application. Demo persona: Thabo Nkosi (the fictional example profile shipped in the repo). PDFs: CV · letter · also inside the demo kit.
Thabo Nkosi
Personal Details
ID 9001015800085 · EE African Male · Code B · English, isiZulu, Sesotho
Profile
SAIPA-registered accountant with six years' experience across full-cycle bookkeeping, month-end close and statutory submissions for SMEs and logistics groups.
Key Skills
Sage Pastel · Sage 300 People · Xero · VAT201 & EMP201 · Month-end close · Management accounts · Payroll (140 staff) · Excel (advanced) · CaseWare
Experience
Accountant — Mzansi Logistics (Pty) Ltd 2021-02 – Present
• Month-end close for 3 entities; 12 → 6 working days
• VAT201, EMP201, AFS
• Payroll for 140 staff on Sage 300 People
Junior Accountant — KPL Auditors 2021-01 – 2018-01
• Bookkeeping to trial balance, 25 SME clients
• SARS audits and objections
Education
BCom Accounting, University of Johannesburg — 2017
Thabo Nkosi
The Hiring Manager
Elite Search & Selection
Re: Bookkeeper
Dear Hiring Manager,
I am excited to apply for the Bookkeeper role at Elite Search & Selection. The hybrid setup and focus on a small, dynamic finance team align perfectly with my career goals and work style.
With six years of SAIPA-registered accounting experience, I have managed full-cycle bookkeeping for multiple entities, performed month-end close, and prepared VAT201 and EMP201 submissions via SARS eFiling. My daily use of Sage Pastel and payroll processing on Sage platforms directly matches the core requirements of this position.
I am confident that my strong Excel skills, attention to detail, and ability to juggle priorities independently will add immediate value to your team.
Kind regards,
Thabo Nkosi
Landing page & lead flow
demo.html is the public door. How the machine works:
| Step | What happens | Where |
|---|---|---|
| 1 | Lead fills name / contact / role / country | demo.html form |
| 2 | 🎯 lead card posts to your Discord (username "Hunta Leads") | webhook, no backend |
| 3 | hunta-demo-kit.zip downloads instantly (27 KB) | downloads/ |
| 4 | Kit: interactive card, both sample PDFs, quickstart, pricing | opens offline anywhere |
| 5 | Human replies within a day (your follow-up cadence, Scripts tab) | you |
Demo kit contents (downloads/hunta-demo-kit.zip): • demo-card.html — live tappable replica of the Discord card • samples/sample-cv-za.pdf + sample-cover-letter.pdf — real engine output • quickstart.md — 10-minute setup (webhook + app password, no card, no console) • pricing.md — R0 / $306 (about R4,999) / $613 (about R9,999) / $920 (about R15,000) with rationale • README.txt — the 5-step tour • hunta-demo-1.0.0.zip + .sha256 — LIVE: the FULL installable demo: unzip, pip install the wheel inside, `hunta doctor`. Four CV designs included; demo01 ships indigo, demo02 sunset. Full walkthrough: setup.html (screenshots + the conversion playbook in its §12).
Engine truth — the product without adjectives
Exact state as of the 2026-09-23 live check. Say these sentences to buyers instead of guessing; every line is backed by the repo, not by marketing memory.
The wheel, fact-checked
| Claim | Truth |
|---|---|
| "22 boards, 17 by default" | Accurate count from the code: 22 boards registered, 17 of them used by default. Not every board returns ads on every run (some block datacentre IPs or go quiet), so say "coverage degrades gracefully", never "all boards live". |
| "Human approval before sending" | TRUE — nothing sends without a human tap. That gate is the product. |
| "No auto-apply" | TRUE — there is no auto-send code path anywhere in the pipeline. |
| "72 h data purge" | TRUE for rendered PDFs (pdf_ttl_hours: 72). Candidate YAML stays until the file is deleted (delete = erasure). |
| "Runs on $0" | TRUE for the operator (GitHub Actions free + Fly free allowance). The only consumable is LLM tokens, keyed to the customer where possible. |
Guardrails that exist in code (say these unprompted)
- Daily send cap — 20 sends/candidate/day, hard-gated in the engine.
- Demo caps — 25 drafted applications, 5 real sends per rolling 30 days, counted by an atomic ledger.
- Seen-skip — a job already applied to is never re-queued (
pipeline.py:67). - Freshness bias — newest postings first; the loop assumes the first 72 hours win the reply.
The pipeline, end to end
One loop, six steps, four times a day. The buyer sees the card; this is what happens underneath — and the exact places where a human is load-bearing.
- Hunt — cron
0 4,8,12,16 * * 1-6UTC (06:00/10:00/14:00/18:00 SAST, Mon–Sat). Each board scraper runs and fails alone: a dead board logs[hunter:x] 0 jobsand never kills the run. - Pre-score — free rule/domain/seniority/country filters before any LLM spend. Zero-cost triage is the margin.
- Match & draft — the LLM scores each role against the candidate's truth file and drafts a tailored letter. Groq 429s auto-failover to Gemini.
- Render — country-formatted PDFs (cv_za with ID/EE/licence, cv_zw, cv_zm) plus cover letters.
- Approve — the card lands on Discord/Telegram with ✅/❌; the human tap is the only trigger for a send.
- Send — SMTP from the customer's own mailbox; results persist to the
hunta-statebranch and rendered PDFs purge after 72 h.
Nothing between draft and send is automatic. That single human gate is what we sell — and what the press copy already says.
Marketing system — the whole playbook on one page
Positioning, message house, channels and cadence, all pointing at one door: the free demo.
The core deal (one sentence)
A free-forever demo that drafts tailored applications to real postings on the boards that matter in this market — with one card for a human yes before anything sends.
The message house
| For | One line |
|---|---|
| Job coach | "A permit to bill more clients for less evening work." |
| Outplacement firm | "An audit trail for every placement you report." |
| Boutique recruiter | "A nightly machine that reads so you can decide." |
| Candidate | "A queue of considered applications, not 400 spam sends." |
Channels & cadence
| Day | Channel | Message |
|---|---|---|
| Mon | one real card (numbers blurred) + one-line lesson | |
| Tue | X | one observation from the hunt log |
| Wed | WhatsApp broadcast | one stat + demo link |
| Thu | story post — a win, a reject-button lesson, a board quirk | |
| Fri | Community | ask for feedback, not sales |
| Sat | — | rest; the pipeline posts its own proof four times a day anyway |
Cadence that converts: • Cold → warm: 5 touches, stop on any reply (Sales scripts §3). • Demo → paid: demo+1h, +2, +5, +9 days; demo+3 and +7 value drops. • Always-on: 24 h human reply to every inbound — promised and kept.
House rules for everything we publish
- R0 demo is the front door, always. Paid tiers are quoted in US dollars with the rand figure as "about": $306 (about R4,999) / $613 (about R9,999) / $920 (about R15,000).
- Every posted number cites a hunt-log date; numbers older than three days get refreshed or removed.
- No "guaranteed", no "AI-powered future", no auto-apply promises. (See Brand → voice.)
- Process over promises: "coverage, drafts, approval, retention" — never placements.
Daily operations — run the business, not just the product
Practical, $0, and it does not turn you into an operator-slave: each loop gets cheaper per customer as onboarding self-serves.
The daily loop (SAST clock)
- 06:00 — nothing; the pipeline hunts on its own.
- 08:30 — 90-second card scan: approve, reject, answer replies. Clear the queue before client sessions.
- 10:00–11:00 — one outreach block: five new conversations, each logged in the tally.
- 13:45 — get today's yes onto the setup call before 14:00 so the first card lands while the excitement is fresh.
- 18:10 — 60-second run health: per-board counts, any 429, the breaker line, commit.
- before bed — update the tally; queue tomorrow's ten names. Never let either end run dry.
The $0 stack (what is actually running)
| Piece | Cost | What it does |
|---|---|---|
| GitHub Actions | Free | the hunt engine + the press autopilot |
| Fly.io | Free allowance | optional dashboard container (region jnb) |
| Cloudflare Workers + D1 | Free | lead capture + lead storage (separate repo) |
| Discord / Telegram | Free | approval cards + community |
| LLM tokens | cents/run | the only consumable; customer-keyed |
The tally (the only dashboard you need)
date | who | channel | stage | next touch | notes stages: listed → DM'd → talked → installed → first card → tapping → asked to pay → paid one line per person, updated in the before-bed slot. The funnel's health is the distance people stall at — stalls at "installed, no card" = a setup problem; stalls at "talked, no install" = a pitch problem. Fix the stage, not the people.
Money — unit economics and the $0 rails
Internal. Do not recite to buyers unless they ask how the numbers work.
Unit economics
| Metric | Value |
|---|---|
| Hard cost per demo customer / month | ≈ R2 (hunting + the customer's own LLM key) |
| Demo → paid conversion assumption | ~5% (conservative) |
| Cost per customer at 5% conversion | ≈ R250 acquired — one lunch out |
| Churn moat | the accumulating seen-jobs history — leaving means starting blind |
Payment rails (all live, all $0 to run)
- Whop — one-tap checkout, subscriptions, 30%/12mo affiliate programme. (Plans charge $306 / $613 / $920 every 30 days, or R4,999 / R9,999 / R15,000 in rands; annual is a one-time bank-wire plan: $2,754 / $5,517 / $8,280. hunta's press health step alerts if any drift.)
- Lightning — coinos invoice, payer puts name+tier in the note; manual grant on settle.
- Mukuru / EFT — manual grant via WhatsApp; ref = your tenant id. No public merchant API, by design.
Hard boundaries
- No card at any step. Every rail is free-tier or manual.
- No paid tooling — if it costs money, it does not get used.
- No marketplace fees — free listings only.
- No new infrastructure spend — hosting is already free.
Roadmap — truthful and dated
What we are actually working on, not a wish-list for investors.
Now
- Service-first. Sell attributable placements per customer per month, not software seats.
- Sovereign self-host is the trust story: HLT1-signed licences, 3-day grace, read-only on expiry — never a bricked box.
- Lead capture is live — the demo page arms a real card into the lead database, no email farming.
Next
- Whop plans must charge $306 / $613 / $920 (owner raises them in the Whop dashboard; the press health step alerts until they match).
- Rotate the Discord webhook and settle admin-token custody.
- Unified DNC enforcement + email/social-only leads.
- Self-serve onboarding — spin-up that does not need you on the call.
Legal & compliance (quick notes, not legal advice)
• POPIA/GDPR posture: metadata-only store, 72 h purge, YAML = erasure, no profile scraping, sends from the data subject's own mailbox with their approval. Say this plainly; it is a selling point AND the compliance story. • Candidate consent: the candidate (or their coach with mandate) supplies the YAML and approves sends — consent is structural, not a checkbox. • Employer-facing: applications are truthful (profile-sourced) and human-approved; no misrepresentation risk by design. • Boards: public search only, polite rates, no login. If a board objects, that hunter is removed — coverage degrades, legality doesn't. • Marketing claims: never promise outcomes (interviews/placements). Promise process: coverage, drafts, approval, retention. • The demo is a product tier, not a trial — say "free forever", never "free trial", to avoid auto-billing expectations and refund disputes.
Glossary
card the Discord message: role · company · match % · reason · link · PDFs · ✅/❌
tap the human approve/reject — the product
hunt one scheduled sweep of the boards
pre-score zero-cost rule/seniority/country filter before any LLM spend
tenant one coaching practice (hosted) or one org (self-hosted)
candidate one YAML profile; delete file = erasure
demo the R0-forever tier: 1 candidate, 25 drafts + 5 sends per rolling 30 days —
same wheel as paid, caps enforced by an atomic ledger
Sovereign self-hosted tier; licence checked daily; read-only on expiry, never brickedLaunch checklist
- Numbers refreshed from the latest hunt log (Actions → hunt → run log)
- Every CTA points at demo.html — one link, everywhere
- Discord webhook live and ROTATED (a previous value was exposed); "Hunta Leads" cards visible in your server
- demo-kit.zip downloads (test from a phone on data, not wifi); demo lead form → worker /capture → card fires
- og-image attached to social posts; one CTA per post
- Read the house rules (Start tab) and the "never" list (Brand tab)
- Follow-up cadence loaded; 24 h human reply promised and kept
- Pilot terms written down: demo R0 forever; Solo $306/mo (about R4,999); annual $2,754/yr (about R45,000) when asked
- Product pack shipped: BILLING is wired to the live Whop checkouts (2026-09-20) → rebuilt (`python -m build && python scripts/make_demo_pack.py`) → `cp dist/hunta-demo-1.0.0.zip* downloads/` → refresh sha256 anywhere quoted
- Pipeline current: audit build live (origin/main 8bd7ff5); hang fix 1c5a54e pushed and verified — one run shows live per-board log lines and a dry run under ~10 min
Social
All CTAs now point at the free demo. Full library:
copy/social.md.LinkedIn — launch post
LinkedIn — short
X — thread closers (full thread in copy/social.md)
X — single
Facebook group
WhatsApp broadcast
Community announcement (Discord/Telegram)
Hashtags