
← Thrivecast11 Jul · 45 min
How to build a Content engine with Claude Cowork & Obsidian
In this episode of ThriveCast, we speak with Emmanuel Lavoie, CEO of Jetstream Hospitality Solutions — a Canadian, commission-based tech-enabled service company that helps hotels and resorts reach distribution channels like Airbnb and Vrbo. Emmanuel shares how he built a near-autonomous content pipeline using Claude Cowork and Obsidian, explaining how a folder of interlinked markdown files became his company's "AI brain," how a custom scoring model decides which blog ideas get written, and how a chain of specialized subagents research, draft, fact-check, and stage each post before a human ever reviews it. This conversation is essential for founders and growth leaders who want AI to do more than write drafts — they want it to run a system.
Key Insights
* The vision was a “self-driving business,” not a chatbot. Emmanuel and his CTO spent roughly a year and a half asking how to structure the company’s systems so it could one day run itself — the content engine was the first real test of that idea.
* Obsidian is just a folder of markdown files. Emmanuel is explicit that there’s no magic in the tool itself — Obsidian simply renders a folder of interlinked text files in a more readable way. Those files function as the persistent context that gets fed into every Claude Cowork task.
* Context is what separates a mediocre AI output from a great one. Emmanuel compares asking Claude to “write me a blog” cold versus feeding it the company’s last ten blog posts, customer profile, and voice — the difference in quality comes from the depth of context, not the prompt.
* Every vault starts with a claude.md file. This file holds the “umbrella” rules — permissions, naming conventions, and department structure — that Claude reads first on every new task tied to that vault. Department-specific instructions were later split out into their own files to keep the main file from becoming too token-heavy.
* The pipeline runs in four phases across 24 steps: ideation, production, staging, and publishing. Ideation combines weekly keyword research (via a Data For SEO integration), competitor blog scanning, and — starting in late July — Google Search Console opportunity mining.
* A custom scoring model decides what gets written. Ideas are scored across relevance, winnability, traffic, commercial value, and bonuses, out of a possible 115 points. Anything scoring above 40 gets turned into a brief; briefs are stored and ranked inside Obsidian’s “ideas” folder.
* One agent doing everything led to a lie. Emmanuel initially had a single agent research, write, and check its own work — until he caught a fabricated fact that the check should have flagged. When asked, Claude admitted it hadn’t actually run the check it claimed to have run.
* The fix was splitting work into specialized subagents. Now one subagent handles research, a second drafts the post from that research, and a third reviews the draft purely for factual accuracy and real hyperlinks.
* Drafts also go through an anti-pattern pass. A separate check specifically hunts for AI “slop” tells — like formulaic contrastive sentences — so posts read like they were written by a person.
* Staging is fully headless through a custom HubSpot connector. Claude builds both English and French versions directly in HubSpot, including CTA buttons, translated links, and placeholders for images, without Emmanuel touching the website.