Hogsend runs on Hogsend. These are the loops.
Hogsend is one business, and all of its marketing runs on one production Hogsend instance. Everything on this page is a real email, DM, or notification that instance sends. Subscribe, join the Discord, or take the course, and these are the journeys that run for you.
You're inside one of the loops right now. The bell above is live.
This documentation site is itself a Hogsend customer. The bell in the nav, the ticker above it, and the sign-up form below all talk to the production instance — open the bell and you're reading a real feed.
The bell in the nav. A real @hogsend/react feed on a publishable key — journeys on our production instance drop notifications straight into it.
The ticker above it. It shows your newest notification. Click it and the bell’s feed opens.
The sign-up form below. Fires a real docs.subscribed event into the ingest pipeline — Loop 1 picks you up from there.
The homepage demo, live here too — the welcome email arrives from hello@hogsend.com in seconds, and the feed it unlocks is the same one behind the bell.
Six short notes, then one question. One tap answers it.
Subscribe and docs.subscribed enrolls you: welcome on day 0, one benefit per note, and on day 10 an email that asks how it went.
the day-10 email, as sent
From: hello@hogsend.com
Did you get a journey running?
It’s Doug. Ten days in: did you get a journey running?
Your answer tells me whether to send help or leave you to it — that’s all I do with it.
Sent by a journey · Unsubscribe
the journey listening for the tap
// Day 10 — the buttons in the email ARE the answer.
const checkin = await ctx.waitForEvent({
event: Events.DOCS_CHECKIN_ANSWERED,
timeout: days(5),
});
const answer = checkin.timedOut
? undefined
: checkin.properties?.answer;
if (answer === "yes") {
// Activated — a couple of days from now, the referral favour.
await ctx.trigger({
event: Events.DOCS_REFERRAL_ELIGIBLE,
userId: user.id,
});
}
if (answer === "no") {
// Struggler — the setup-week offer path.
await ctx.trigger({
event: Events.DOCS_SETUP_ELIGIBLE,
userId: user.id,
});
}Yes, it's live. Two days later, “A small favour” — the referral ask, only ever on the happy path.
Not yet. “If the install is the blocker” — the setup week, a human installing it with you.
No reply. We look at what you did instead — a deploy click since the check-in withdraws the pitch and asks the favour instead.
The course runs on what it teaches. One purchase starts five journeys.
course.hogsend.com is another surface on the same instance — the course's emails, milestones, and Discord access run on the same loops its chapters teach.
what a purchase kicks off
course.purchased
recorded server-side by course.hogsend.com
course-purchase-welcome
“That's yours now — all eleven chapters” · immediately
course-purchase-onboarding
waits for your first chapter — “Twenty minutes gets you chapter 0” only if you stall
course-community-invite
“Your seat in the private #course channel” · the next day
course-discord-access
the 🎓 Student role, granted without asking if your Discord is linked
course-share-code
a week in, if you've done the work — a discount code to give away
two days after you finish
From: hello@hogsend.com
Would you recommend Measure, Keep, and Grow? One tap.
You finished the course a couple of days ago. One tap, honestly given, and you’re done.
0 = not at all, 10 = absolutely.
9–10“Thank you — one small ask” — the testimonial.
0–6Doug, personally — a flag in his inbox, not an automated apology.
Sent by a journey · Unsubscribe
Milestones. Crossing 25, 50, 75% each gets a note — “You're halfway — most people never get here.”
Gifts. Three journeys: the code to the buyer, the unwrap to the recipient, a note back when it's redeemed.
The plan's gate reviews. The course ends with a 30/60/90-day plan — “Day 30 — your gate review is due” holds you to it.
One identity across web, email, and Discord. /link connects them.
Verify with /link and the welcome reaches you twice — a DM in Discord, and a notification in the same bell at the top of this page. Both, because both now belong to one contact.
in your Discord DMs
HogsendAPP
Hey — welcome to the Hogsend community, and thanks for verifying! 🎉
If you’re getting started, here’s the quickest path in: your personal getting-started link
Ask anything in the server — we read everything.
the same moment, in the web bell
Notifications
You linked your Discord 🎉
Your Discord is now connected to your Hogsend identity. This reached your bell because linking stitched your web session to your contact — one identity across web and Discord.
Getting started →
the role ladder — every promotion is a journey
Stranger
Joined the server, unlinked — a DM nudges you to run /link.
Piglet
Verified with /link — the role flips the moment the identities fold.
Hog
Seven days in plus one message — a durable wait graduates you.
Student
Bought the course — granted without asking once your Discord is linked.
Ambassador
Referrals crossing the milestone — granted once, ever.
Ask the favour when it's earned
We only ask people who told us things went well, at the end of the docs funnel. The credit is applied when the referred person verifies in Discord, so it always lands on a real, reachable contact.
A friend arrives through your link
The visit is remembered against them. No codes table, no ledger to reconcile — the events are the ledger.
They verify in the Discord
That's the conversion — the moment an anonymous visitor becomes a real, reachable person.
The credit lands on you
A thank-you email and DM each time, and the 🏅 Ambassador role in the server when you cross the milestone — once, ever.
From: hello@hogsend.com
Someone you referred just joined
A new person came in through your referral link. Thank you for spreading the word.
Sent by a journey · Unsubscribe
Read the loops, then run your own.
The course loop has a journey-by-journey walkthrough in the docs — and everything on this page runs on the same code create-hogsend scaffolds.
Hogsend is free to self-host — pricing covers what you actually pay for.