Cost monitoring, PTT fix, Devon tuning, WEIRD pool expansion, YT thumbnails, LLM SEO, publish ep37

- Add real-time LLM/TTS cost tracking with live status bar display and post-show reports
- Fix PTT bug where Devon suggestion layout shift stopped recording via mouseleave
- Devon: facts-only during calls, full personality between calls
- Double WEIRD topic pool (109→203), bump weight to 14-25%
- Auto-generate YouTube thumbnails with bold hook text in publish pipeline
- LLM SEO: llms.txt, robots.txt for LLM crawlers, structured data, BreadcrumbList schemas
- Publish episode 37

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-15 05:33:27 -06:00
parent 3329cf9ac2
commit c70f83d04a
35 changed files with 4781 additions and 875 deletions

View File

@@ -4,20 +4,21 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Luke at the Roost — AI Call-In Comedy Podcast</title>
<meta name="description" content="Late-night call-in radio from a desert hermit's RV. Real callers and AI-generated characters talk to Luke about life, love, and everything in between. Call in: 208-439-LUKE.">
<meta name="description" content="AI-powered late-night call-in comedy podcast. Real callers and AI-generated characters talk to Luke MacNeil about life, love, and everything in between. 37+ episodes. Call in: 208-439-LUKE.">
<meta name="keywords" content="AI podcast, comedy podcast, call-in radio, AI-generated callers, late-night radio, Luke MacNeil, talk show, AI comedy, artificial intelligence podcast, call-in podcast">
<meta name="theme-color" content="#1a1209">
<link rel="canonical" href="https://lukeattheroost.com">
<!-- OG / Social -->
<meta property="og:site_name" content="Luke at the Roost">
<meta property="og:title" content="Luke at the Roost — AI Call-In Comedy Podcast">
<meta property="og:description" content="Late-night call-in radio from a desert hermit's RV. Real callers and AI characters talk to Luke about life, love, and everything in between.">
<meta property="og:description" content="AI-powered late-night call-in comedy podcast. Real callers and AI-generated characters talk to Luke about life, love, and everything in between. 37+ episodes.">
<meta property="og:image" content="https://cdn.lukeattheroost.com/media/podcasts/LukeAtTheRoost/cover_feed.png?v=3">
<meta property="og:url" content="https://lukeattheroost.com">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Luke at the Roost — AI Call-In Comedy Podcast">
<meta name="twitter:description" content="Late-night call-in radio from a desert hermit's RV. Real callers and AI characters talk to Luke about life, love, and everything in between.">
<meta name="twitter:description" content="AI-powered late-night call-in comedy podcast. Real callers and AI-generated characters talk to Luke about life, love, and everything in between. 37+ episodes.">
<meta name="twitter:image" content="https://cdn.lukeattheroost.com/media/podcasts/LukeAtTheRoost/cover_feed.png?v=3">
<!-- Favicon -->
@@ -34,35 +35,70 @@
<!-- Structured Data -->
<script type="application/ld+json">
{
[{
"@context": "https://schema.org",
"@type": "PodcastSeries",
"name": "Luke at the Roost",
"description": "The call-in talk show where Luke gives life advice to biologically questionable organisms. Broadcast from a desert hermit's RV, featuring a mix of real callers and AI-generated callers.",
"description": "An AI-powered late-night call-in comedy podcast. Real callers and AI-generated characters with unique personalities talk to host Luke MacNeil about life, love, relationships, and everything in between. Broadcast from a desert hermit's RV, featuring 37+ episodes of unpredictable conversations.",
"url": "https://lukeattheroost.com",
"image": "https://cdn.lukeattheroost.com/media/podcasts/LukeAtTheRoost/cover_feed.png?v=3",
"author": {
"@type": "Person",
"name": "Luke MacNeil"
"name": "Luke MacNeil",
"url": "https://lukeattheroost.com"
},
"publisher": {
"@type": "Organization",
"name": "MacNeil Media Group"
"name": "MacNeil Media Group",
"url": "https://macneilmediagroup.com"
},
"genre": "Comedy",
"genre": ["Comedy", "Talk", "Technology"],
"inLanguage": "en",
"webFeed": "https://podcast.macneilmediagroup.com/@LukeAtTheRoost/feed.xml",
"startDate": "2026-02",
"keywords": "AI podcast, comedy, call-in radio, artificial intelligence, AI-generated callers, late-night talk show",
"sameAs": [
"https://open.spotify.com/show/0ZrpMigG1fo0CCN7F4YmuF",
"https://podcasts.apple.com/us/podcast/luke-at-the-roost/id1875205848",
"https://www.youtube.com/watch?v=xryGLifMBTY&list=PLGq4uZyNV1yYH_rcitTTPVysPbC6-7pe-",
"https://discord.gg/5CnQZxDM"
"https://discord.gg/5CnQZxDM",
"https://www.instagram.com/lukeattheroost/",
"https://x.com/lukeattheroost",
"https://www.tiktok.com/@luke.at.the.roost",
"https://bsky.app/profile/lukeattheroost.bsky.social",
"https://www.facebook.com/profile.php?id=61588191627949",
"https://www.linkedin.com/company/luke-at-the-roost"
]
}
},
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Luke at the Roost",
"url": "https://lukeattheroost.com",
"description": "Official website for Luke at the Roost, an AI-powered late-night call-in comedy podcast.",
"publisher": {
"@type": "Organization",
"name": "MacNeil Media Group",
"url": "https://macneilmediagroup.com",
"logo": {
"@type": "ImageObject",
"url": "https://cdn.lukeattheroost.com/media/podcasts/LukeAtTheRoost/cover_feed.png?v=3"
},
"contactPoint": {
"@type": "ContactPoint",
"email": "luke@lukeattheroost.com",
"contactType": "customer support"
}
}
}]
</script>
<script defer data-domain="lukeattheroost.com" data-api="/p/event" src="/p/script"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
</head>
<body>
<main>
<!-- Banner -->
<div class="banner">
<img src="images/banner.png" alt="Luke at the Roost — ON AIR" class="banner-img" width="1500" height="500">
@@ -128,7 +164,7 @@
<!-- About -->
<section class="about-section">
<p>Late-night call-in radio from a desert hermit's RV. Callers ring in with relationship disasters, workplace chaos, and life's dumbest decisions — and Luke tries to help. Sometimes it works. Sometimes it makes things worse.</p>
<p class="about-teaser">Part human callers, part AI-generated characters, fully unhinged advice.</p>
<p class="about-teaser">Part human callers, part AI-generated characters, fully unhinged advice. Each AI caller is generated in real-time with a unique personality, backstory, and voice — powered by large language models and custom text-to-speech. 37+ episodes and counting.</p>
<p><a href="/how-it-works">See how it works</a></p>
</section>
@@ -223,6 +259,8 @@
<div class="testimonials-dots" id="testimonials-dots"></div>
</section>
</main>
<!-- Footer -->
<footer class="footer">
<div class="footer-nav">