Christopher Penn – 00:00
Happy Thursday, everyone. Welcome to So What? The Marketing Analytics and Insights Live Show from Trust Insights. I am Chris, and John is here with me. Katie is off this week — she is at the Marketing AI Conference (MAICON) workshop presenters’ briefing doing a half-day workshop on all things Claude, specifically the Claude for Business workshop. They are working out how that’s going to go, which is why she can’t be with us today.
In today’s episode, we’re talking about automating content transformation. We talked about this on the podcast earlier this week. In the age of AI, there is no reason why any piece of content can’t become any other piece of content, especially if it is human-led to begin with.
Christopher Penn – 01:15
Our guinea pig or crash test dummy — I don’t know what we want to call it — of course, is…
John Wall – 01:22
The—
Christopher Penn – 01:23
…the best and second-oldest continuous marketing podcast in the world, Marketing Over Coffee.
John Wall – 01:30
Yeah, I don’t know. I’m still gonna go fact-check that. We still may be the oldest around, but I’ll have to see what the internet says.
Christopher Penn – 01:38
Yes, the oldest continuously operating. John, we have over 1,000 pages of podcast episodes. I want to say we’re in the 900s for the actual MP3 files, but over 1,000 pages of stuff that dates back to 2007 when you and I were still recording in the Dunkin’ Donuts on Route 9 in Natick.
John Wall – 02:02
The venerable birthplace.
Christopher Penn – 02:06
So, if we were to pull up some of this content just to see what’s there from days past… This is a post from 2009, and there are the media files. In fact, let’s see if I click on this link if the MP3 still loads — but there’s a bunch of stuff that doesn’t work anymore.
John Wall – 02:33
That’s a huge win. I was expecting the link not to work, so we’re at least providing the content. Over the years, we’ve had different email service providers, different web hosts, and different templates. This is going to be an interesting walk down adventure aisle here.
Christopher Penn – 02:53
Yes, it is. There’s a bunch of things, like old sponsor blocks. This episode from 2009 was brought to you by Blue Sky Factory, which hasn’t existed since 2012 when it was bought by WhatCounts, which was bought by J2 Services, and then got bought by someone else. It’s been five acquisitions, and literally everything about that platform is gone. It is a distant memory of better days in Baltimore, but there’s still a sponsor block.
We used to have a “Question of the Week” thing back then and an upcoming event section that is long over. In fact, BlogWorld & New Media Expo has been gone for years.
John Wall – 03:38
Yes.
Christopher Penn – 03:38
Props to MarketingProfs — MarketingProfs is still going strong 20 years later. We’ve got links and a theme song. We’ve got an old block here that does nothing, and then there’s a signup for the Marketing Over Coffee newsletter, which is from Blue Sky Factory. That has not worked in 15 years.
John Wall – 04:00
Yeah, the “Get your coffee delivered, too.” I’m trying to remember what that was. I think at some point you could sign up via RSS, and it would email the show to you.
Christopher Penn – 04:10
Yes, with FeedBurner.
John Wall – 04:12
Okay, so that was a FeedBurner thing, which has also been gone for 10 years now.
Christopher Penn – 04:17
Exactly. Today’s topic is: how do we automate content transformation? How do we make new stuff out of the stuff we’ve already got and, in this case, also fix stuff up? The keyword here is automate.
Any one of us could hit the edit button, go in here, and be presented with all the cruft from very long ago. Some things that would be nice would be if we could get a transcript from that episode on the site. We’ve talked about that in past episodes. The MP3 exists — this was show 122 — but neither of us wants to download 900 episodes. That sounds terrible. What could you do with that?
Christopher Penn – 05:00
You could send it to a transcription service once if you had the audio, pass it over, bring it back, and upload it back to the site, but that’s still work. What we ideally want is, once we get a system set up, we don’t want to see it again. We just want to say, “You do it, and I’ll check back in with you when you’re done.”
So, how would we do this? A couple of different ways. First, we have to think about where we have services that we could use to do some of these transformations. Some of them are free, and some of them are not free. Then, how do we orchestrate? How do we make it happen?
Christopher Penn – 05:41
From just this one episode, John, what things would you like to be able to do?
John Wall – 05:50
Like you said, transcripts are obviously a way that would really beef up the content. The one thing that’s a little bit weird is I had done a project five or six years ago where we were going through episodes and found that more than 70% of the shows are topics that are now dead, gone, and irrelevant. I think there’s a portion of episodes that probably need to actually be deleted because it’s just wrong info.
I’m curious about your opinion on that, too. Maybe there’s no value in deleting them — maybe for historical value, GEO, and SEO, it’s still worth keeping. Transcripts are key, and the other thing is just cleaning up all the garbage.
John Wall – 06:30
I would like to have all of the weird, old email forms taken out and have everything be the new email form. As you said, the sponsor blocks are another weird thing. There are a couple of duct-tape-and-chicken-wire things behind the scenes where certain sponsors get redirected to other places and things like that, but it’s by no means any kind of system. Like I said, literally when somebody yells about it, I go and jury-rig something. Something more formal on that front would be cool, too.
Christopher Penn – 07:03
That means we would need to make use of the CMS itself to be able to do a lot of modifications, and you can do that programmatically. WordPress — which is the platform this site is built on — and the company that we host with, WP Engine, has what’s called an SSH gateway. Now, this is nerd speak for a command line tool. A terminal could connect via a secure connection directly to WP Engine, directly to the website itself, and manipulate WordPress so it can download a post, edit it, and upload a post. You would do that in Terminal — get the old 1980s WarGames-style interface — and that is the secret to that word…
Christopher Penn – 07:49
Automate. When we talk about automating content transformation, it comes down to: do you have connectors that can connect to and from your AI system, or whatever system you want to design? The good news is, for example, a host like WP Engine, Cloudflare, and many other content delivery networks and content management systems all have either command line tools or APIs. That would be prerequisite number one because we absolutely, positively have to have some way to programmatically grab posts, edit them, and then send them back.
The second thing we would need access to is some form of AI, ideally something that has a smart language model behind the scenes, something like Claude Code or what have you.
Christopher Penn – 08:33
You also might want to have a lightweight language model that can do grunt work — like, in this post text, identify the sentence that is the sponsor message and replace it with a WordPress shortcode. That way, you just have to maintain the sponsor block in one section of the site, and on every page, the sponsors update as people come and sponsor the show.
Then you can say, “Hey sponsor, you don’t just get this episode while you are an active sponsor. You get run-of-site. Oh, by the way, when you stop paying, you go away. If you want to pay for a perpetual listing on the site, there’s an added package.” So, we would need a language model of some kind to tie into it. The third component is the different services that would do those kinds of transformations.
Christopher Penn – 09:22
If you just wanted a raw transcript of the words themselves, there are so many choices. There are local models like Parakeet or Whisper, and there are cloud models from every big tech AI company. If you want transcription that also has what’s called diarization — which means you separate the speakers by who is speaking — you’re going to look at more specific services like Otter, for example, or Fireflies. Again, there are a gazillion of them.
What you’re looking for are vendors that have some kind of text-based connector, because if you can connect your Claude Code or your OpenCode to that vendor via a command line tool in a text environment, AI can just steer.
Christopher Penn – 10:12
It can say, “Hey, I’m going to upload this MP3. Transcribe it, tell me when it’s done, send the thing back, and I will then be able to do stuff with it.” If you wanted to do things like audiograms, again, there’s a million and a half services that do audiograms now. Which ones have a command line tool?
What I would suggest as part of anyone’s martech audit is to go to Google in AI mode. You can ask something along the lines of: “Which audiogram production companies have a text-based command line tool or CLI that I can use with agentic AI?” If I tap on AI mode, it’s going to tell me, “Hey, none of them do, suckers.” However, there’s an open-source version called Remotion…
Christopher Penn – 11:09
By the way, this is really bad news for Headliner, Descript, and all those companies. You all should have command line interfaces for AI already.
John Wall – 11:18
Yeah.
Christopher Penn – 11:21
There’s this free, open-source tool called Remotion Audiogram that integrates with your agentic workflows. It’s a React-based programmatic framework for high-quality, customized audiogram videos created entirely via the command line, driven by text commands. I didn’t know this existed — it’s kind of silly that I didn’t.
John Wall – 11:44
Every day there’s a new one.
Christopher Penn – 11:47
Let’s see: Deepgram, Classic Observers, New York Public Radio Audiogram. Now we have an answer. This is something we could add into it. How do we start thinking about all this? Our next step would be to write up a project plan that a tool like ChatGPT, OpenAI Codex, Google Anti Gravity, Claude Code, or Claude Cowork could build for us.
So, let me start a new document — just a text editor, nothing fancy, nothing special. I’m going to say: “Today we are going to build a content management system. The local programming language is Python, and you’ll find all the coding standards in the Docs folder.
Christopher Penn – 12:39
What we want to do is connect to our website, marketingovercoffee.com, via the WordPress command line tool, WP-CLI, which is already set up as an authorized user of the SSH gateway so it can grab, download, edit, and upload WordPress posts. We’ll also have access to the Remotion tool, which makes audiograms. We’ll have access to Fireflies, the transcription company, via the Fireflies command line tool. Our goal today is to do a few different things. First, download all the episodes and text files, and find the MP3 links in them.”
John Wall – 13:25
Two.
Christopher Penn – 13:25
“Second, make sure the MP3 links have the correct Libsyn URLs for modernity. Third, download the MP3 files and store them locally. Fourth, send each MP3 file to the Fireflies transcription service to be transcribed programmatically, return the transcript in plain text format, and store it locally — probably in something like a SQLite database.
Fifth, fix the WordPress post itself to remove mentions of old sponsors, which are always denoted with a sentence along the lines of ‘This episode brought to you by’ or ‘This episode sponsored by,’ replacing them with a WordPress shortcode that we can programmatically change later. Sixth, we’ll add the cleaned-up transcript back to the post at the end so that we don’t lose the existing show notes, because we want to preserve what’s already there. Seventh, we’ll upload the post back to WordPress and make sure it looks okay.”
Christopher Penn – 14:34
That’s our process. We should probably make sure that we add in documentation. If I go into today’s episode — where am I here, Marketing Over Coffee? — I want to make sure I have my documents folder. I need to add in my Python tools. Okay, now I have my Python rules, which I’ll want to put in here.
We want to tell it how to get to Remotion, and we want to tell it how to get to Fireflies. Fireflies has already been authorized on this computer. Now we’ll finally finish up this general project plan with: “Ask me up to 20 clarifying questions using your brainstorming superpowers until you have enough information to succeed at this task.” What did I forget?
John Wall – 16:38
There are episodes that have transcripts already on them, so keeping an eye out for that would be one thing, as well as the newsletter subscription forms.
Christopher Penn – 16:51
Yes, that’s right, forgot about that. All right: “You will also see expired sections in posts leading to the old FeedBurner distribution sections, which are gone. That software hasn’t existed in some time. You will also see very old Blue Sky Factory newsletter subscription forms. Those haven’t existed in a long time and need to be removed and replaced.” Now, on the website, there should be the newsletter, right?
John Wall – 17:27
Which just goes to a Google Form.
Christopher Penn – 17:32
Okay, which goes there. All right: “This is where users should be sent.” What else did we forget?
John Wall – 17:48
That’s everything. It would be interesting to know which episodes don’t have images because from the old content management system, I think basically all the image links are broken.
Christopher Penn – 18:03
Okay, well, let’s add that in. Why not? “Part of your work will be a content audit to identify missing items, like missing images within the episode, so that we know we’ll have to go back and generate others later. We’re not going to create those images now, but we do want to flag them for replacement.” What else?
John Wall – 18:27
That’s definitely as much of the mess as I know today.
Christopher Penn – 18:34
The best practice in this kind of environment is to put all of that foaming at the mouth into what’s called a recipe file. This is just a plain text file, but it contains all the information that we would need. Oh, I forgot to tell it: “Feel free to use your web search tools to obtain any missing information. Once you have come up with the plan, have the advisor review it.”
Now we can go into our coding tool of choice, using Claude Code here. Let me do a new session. Now we do the extremely boring read and run recipe.md. The reason we keep that recipe in a text file instead of just as an ad-hoc prompt is that when you restart a coding agent or do a new task, it often forgets the original ask.
Christopher Penn – 19:43
It builds all these elaborate plans like, “Oh, I’ve got to do this, gotta do that,” and 25 minutes later, it’s doing something else. You’re like, “What are you doing? Go back and read the recipe.” It’s like, “Oh, you’re absolutely right. This is a content management system, not a chicken-cooking timer.” I’m like, “How did that happen?”
It will probably have a chance to go through and read any existing project materials. As part of the prep for today’s episode, there was a lot of messy stuff getting software connected, but once that’s all done, now it can just ask me the questions that it wants answers to before it builds the software to do this task. That is the other part of automating content transformation.
Christopher Penn – 20:38
We don’t want an AI tool like Claude Code or Claude Cowork to be doing the actual work because that AI usage, especially now, is more expensive than ever. There’s no shortage of companies that have burned through their entire coding budget in two months for the whole year.
Instead, we want to encourage our AI tools to build us the software we need, which will then turn into something we can rerun all the time. That way, when a new episode goes up, if this is on a scheduled task to run once a week, it will automatically handle all that processing, and you and I won’t have to do it.
John Wall – 21:20
Yeah, that’s wonderful — not only cleaning up the trash, but less effort going forward.
Christopher Penn – 21:25
Exactly. This may take some time — and by “some time,” I mean this is likely to take two to four hours for it to process and think through. But that is the essence of content transformation: figuring out which tools to connect to, and then figuring out what the process and the flow are going to be.
John Wall – 21:51
What would be the general approach? After it runs for those three hours, will it come back with a package for you that you would just install, set up, and run? How would it normally go if it goes as planned?
Christopher Penn – 22:05
If it goes as planned, you could either have it be something that lives on your laptop — which, for a hobby show, is totally fine. If you were Joe Rogan, that wouldn’t cut it. Or you could direct it to build something that runs full-time on a server that lives on Google Cloud. I imagine if you were a super high-volume podcast, then it’s just running every single day, keeping up and doing maintenance.
Now let me see. It has questions for me. What questions does it have? “The current site has 1,008 to 1,012 published episodes. Given Fireflies transcription cost and time of live editing every WordPress post, how should this pipeline run? Pilot batch first?” Yes.
Christopher Penn – 22:47
“Recipe says sponsor sentences denoted with a sentence — delete sentence, insert new shortcode. Edit sponsor lines inside the transcript.” Oh, I didn’t think about that. It’s asking, “Do you want to remove the sponsors from the transcript?” Yes, we do.
“After editing a post, how should it go back to WordPress — save as a draft for manual review?” No, because these posts are already live. If you were to publish them as drafts, you would delete the originals.
John Wall – 23:27
Right?
Christopher Penn – 23:27
So, let me say: “Let’s do a test of five or 10 posts locally to see if the system works. If it does, then you’ll publish directly once we’ve worked out all the bugs.”
John Wall – 23:42
I’ve never used the manual review process. Is that something different, or does that just mean what you were saying?
Christopher Penn – 23:49
Yeah, exactly what I was just saying.
John Wall – 23:50
I was thinking there was some kind of WordPress content approval or something, but there’s not.
Christopher Penn – 23:54
There can be. There actually is a whole approval pipeline process, and it’s especially robust in WordPress Multisite, which we don’t use. What’s nice about this particular process, especially in Claude, is it’s going to keep asking questions. I told it it can ask up to 20 questions.
One of the things that is new with the current fifth-generation models — Opus 5, Sonnet 5, GPT-5.6, etc. — is that they’re very agent-focused and agentic, so you have to be specific. Don’t just say, “Ask me questions.” Say, “Ask me up to 20 questions,” so that it knows it can ask a lot.
It says: “FeedBurner and Blue Sky Factory both appear two ways in the data: boilerplate widget block and one-off editorial mentions.” Let’s get the widgets and editorial mentions. “MP3 links use three different URL patterns.”
Christopher Penn – 24:54
“Normalize all to direct traffic.libsyn.com, which is the correct one. Sixty-eight posts use the old audio URL shortcode to embed the player, while the rest use a plain link. The audio shortcode player hasn’t worked in years. Recipe mentions Remotion is available, but it’s not one of the seven numbered pipeline steps in scope. Scaffold it.”
John Wall – 25:15
I do not know what to do with that. There is one thing with the MP3 links: anything in the past three or four years has to be kept intact because there are all kinds of different ad network tracking things. I have to handcraft every show episode now depending on which of the ad networks it needs to report to.
Christopher Penn – 25:36
Interesting. I thought it was all going through traffic.libsyn.com now.
John Wall – 25:41
No, that’s where the MP3 file sits, so that’s always where it resolves. But there are anywhere from one to five redirects in front of that where it goes to other ad agencies. It destroys the stats — the stats are a complete disaster all the time.
Christopher Penn – 25:58
Oh, that’s the Podroll stuff, too, right?
John Wall – 26:02
Podroll, and there are three or four others — it just depends on who the advertiser is. They all use different platforms to track their ads. So if they sponsor a specific episode, that episode has to get routed through — the call has to get routed through that before it ends up at Libsyn.
Christopher Penn – 26:17
That seems very complicated.
John Wall – 26:20
This is something we never talk about or brag about, but unlike most podcasts, our listeners’ privacy is protected. The first hit they make is through our agency, and that’s kept anonymous. Even the agency doesn’t know who you are when you’re requesting that first hit. Then the agency passes it on to any other ad tools after that.
Like I said, it makes usually no more than two or three hops before it heads to Libsyn. If you’re an advertiser, you can get your stats while we maintain the privacy of listeners, but it just makes it an ugly mess.
Christopher Penn – 27:09
While this is churning away over here, another thing you can do — if you have the time and the credits in your AI plan of choice — is build some of these utilities yourself. If you wanted to have an audiogram maker that was completely local… I haven’t tried Remotion, so I have no idea whether it’s any good or not, but I was making one for myself in Python called Byliner.
Oh, looks like Claude has more questions: “Sponsors need to be removed from the transcript. LLM-assisted cleanup recommended.” Yes. “Plain HTML5 audio controls match the Libsyn frame used on recent posts. Where should the new transcript pipeline data live? New tables in the existing database.” That is fine.
Christopher Penn – 27:57
So, we’re going to say: “This is fine to use this Fireflies account. The way we will handle this is that you will load five MP3s at a time, wait for Fireflies to transcribe them, get the transcripts back, and then delete the MP3s to free up space. You’ll do this in batches of five so that we don’t overwhelm the system.”
John Wall – 28:22
Yeah, because it’s totally storage-based, isn’t it? You can keep it grinding 24/7 as long as you don’t let the recordings pile up.
Christopher Penn – 28:29
Right, exactly. That will let it work within the boundaries of that system. There are other systems that are per-minute per-month, where you have a set number of minutes per month.
John Wall – 28:40
Right.
Christopher Penn – 28:40
That’s another area where it’s not a bad idea to have a local version. In another Python project I’m working on, I’m doing diarized output to create those diarized audio transcripts so I don’t have to rely on a service at all — particularly for old material that you don’t really want to spend money on if you can avoid it, where you can just spend compute power.
This is an example of Byliner. I’ll put up the screen — you can’t hear the audio — but it’s just an old episode. It’s using audiograms to create the waveforms, and then it sticks the captions at the bottom.
John Wall – 29:37
Oh, all right. Yeah, this is from this week — Gary Palmieri from Red Art.
Christopher Penn – 29:40
Yeah, exactly. This takes something from a style guide I was messing with and has a Python script in the backend that essentially says, “Okay, here’s the audio file. Turn it into this style of audiogram and make it an MP4 video.”
There is a free, open-source project — let’s see if I still have it up here on GitHub — that allows you to programmatically control your YouTube channel. You would install the software, which is free and open-source, and security-check it with your coding agent of choice.
Christopher Penn – 30:25
Then you would give it to a tool like Claude Code to say, “Okay, once you’ve generated an audiogram, here’s the target YouTube channel. Generate the title, description, and tags, maybe make some cover art, and then programmatically push that video to YouTube — and maybe even schedule it.”
If you want to do a “Best of Marketing Over Coffee 2009,” you could push all 52 episodes from that year to YouTube. The key with local generation is that you don’t do this manually. This is all handled by machines because it’s grunt work.
John Wall – 31:08
Yeah, right. This is the worst of the worst.
Christopher Penn – 31:10
It really is — it’s just terrible labor for things that are a proven process. When we talk about automating content transformation, this is the overall process. If you have an agentic tool that can essentially write the programming and software for you, and you can be super clear about your requirements, you can do a great job.
The framework we recommend to do this — huge surprise, Katie’s not here to talk about it — is the 5P Framework by Trust Insights: Purpose, People, Process, Platform, Performance.
For this kind of project, the Purpose is to transform content and fix up the website to clean up all the cruft. The People are you and me, who don’t want to be doing this, but also the audience that might want this information. By having full transcripts, it will also feed AI and the machines crawling the Marketing Over Coffee website, so that’s an audience as well. The Process is exactly what I dictated aloud. The Platforms are all these different connectors we talked about. The Performance is: did the software do the job and get the final stuff on-site?
Christopher Penn – 32:05
If we were to go back to the Marketing Over Coffee website in two weeks when all this processing is done, is it up to scratch? Do episodes have full transcripts on them? Are the sponsor blocks being replaced by shortcodes? Do the Libsyn URLs all work correctly? All of that would be the performance criteria to say, “Yes, this did the thing.”
Christopher Penn – 32:49
Later on, in tools like Google Search Console and Bing Webmaster Tools, we would see an increase in traffic, impressions, clicks, and AI citations because we gave our audience — which includes these machines — much more content to work with.
John Wall – 33:10
Even the fact that it’s less offensive to the eye — with less broken stuff lying around — provides value. Unlocking the content and cleaning stuff up is huge. As you said, that’s the most horrible grunt work, so automating that away is fantastic.
Christopher Penn – 33:25
Exactly. Obviously, this is not going to finish during this episode, the next episode, or probably the episode after that — this is going to be a very long-running project. But this is the overall process, and you will be most successful following the 5P Framework by Trust Insights.
Once this is done, we can measure it and see how it goes. This will also give you, as the producer, a lot more leverage with sponsors to say, “If you want your name still in the historical archives, you’ve got to keep paying.”
John Wall – 34:02
Unfortunately, with the vertical we’re in, a good 30% to 40% of them just don’t exist anymore. They were either bankrupted, acquired, or became some other tool. There’s a lot of stuff that doesn’t exist anymore.
Christopher Penn – 34:18
Theoretically, when you do host reads in the show, that actually has a different audio signature than when we’re recording, because when we’re doing a two-person recording, you get a different audio signal. You could have a tool that splices the MP3s and goes back to add new advertisers.
John Wall – 34:48
Right, it just cuts in a neutral read. There are a number of networks that do dynamic ad insertion where you tag where the ad goes, and different listeners get different ads. It can go beyond just swapping them in or out.
As we’re talking about this, it gave me an opportunity I hadn’t considered: there are all these episodes with sponsors who still exist where links point to their old events or old white papers that don’t matter anymore. I could run a list and say, “Hey, Sponsor X, did you know we have 300 pages linking to your stuff? Where would you like these links to go today?”
Christopher Penn – 35:35
$1 million.
John Wall – 35:38
For just $1 million, we can point this somewhere where you can track it, instead of us being the number-one source of 404s to your website. You don’t want that.
Christopher Penn – 35:48
That’s a really interesting point. If you were to do an outbound link audit using an SEO tool of all the links going from our site to dead content… Let me take a look at our SEO tool. Let’s do Site Explorer for marketingovercoffee.com, look at outgoing links, and check all 404s. There are 165 links that are now 404s.
John Wall – 36:39
Yeah, that’s about what I would expect — bad, but not horrible. Another interesting point I hadn’t thought of: you can go to the sponsors, but you can also go to competitors. When I was talking about duct tape and chicken wire, there were times when certain sponsors wanted specific keywords linked to their site, and if they were replaced by another sponsor, those links moved with the new sponsor.
Christopher Penn – 37:11
This would be the report to feed into a system like Claude to say, “By the way, we need to repoint all these to internal pages or remove the links entirely because they’re long gone.”
In the database that tracks all this information on the backend, put a field saying “sponsorship opportunity” so you can generate a report. You can say, “For the category of email marketing, marketing automation software, or CRM software, we’ve got all this content in our system we could dynamically repoint if you want to sponsor run-of-site for this particular term or concept.”
John Wall – 37:53
I realized I missed an opportunity, too. I’ve always been tagging episodes as “podcasts” because it’s audio content. But they should really be tagged by topic — if the majority of the episode is about email, a website, or branding, having those extra tags makes it much easier to categorize content that could be monetized later.
Christopher Penn – 38:16
Another aspect of general content transformation is that you can transform content in reverse directions. I’ll give you a quick example: if I go to my YouTube channel — this is something I do for myself — I go to Content and find an older episode, like “Falsifying CRM Data.” These are my kitchen recordings each week.
The video is there, but on my website, I built a utility that connects to my YouTube channel, grabs the transcript for each episode, and creates a blog post with a summary, the YouTube video, key takeaways, and the transcript.
Christopher Penn – 39:11
It’s exactly what we’re doing with Marketing Over Coffee. Instead of manually doing this — because doing it manually sucks — I record the videos, and once a week I run this utility to sync everything back to my website. That way, all the content I post on YouTube has a place to live on my site.
John Wall – 39:29
Is that transcript originally created through Adobe, or is YouTube creating the transcript?
Christopher Penn – 39:37
YouTube creates a transcript. I grab the YouTube video, and there’s a free utility called FFmpeg that turns any video file into audio. Then, there’s a free utility for Mac called Parakeet that takes the audio file and transcribes it. When it downloads the video, it generates the transcript. My local AI tool — which uses Qwen 3.6 for this — distills it into a summary and key takeaways. It’s very clearly based on my original human work.
John Wall – 40:18
That’s very cool. That’s a great way to have a whole chain going so it’s not a separate mess everywhere.
Christopher Penn – 40:25
Maintaining daily content manually is terrible and awful — I never want to do it, and for years I didn’t. When I ran this for the first time, it said, “I have 700 of your videos to catch up on.” I said, “All right, see you in two days.”
John Wall – 40:41
Yeah, right.
Christopher Penn – 40:44
If you have content all over the place — which is a challenge a lot of marketers have — this automated content transformation methodology allows you to sync everything up when you have podcasts over here and YouTube over there.
John Wall – 41:05
We always—
Christopher Penn – 41:06
You and I have been advocating this for 20 years: your content should live on a site you own. It’s fine for it to be on YouTube and other platforms, but things happen and things change.
John Wall – 41:20
Always fall back. If a platform goes away, it’s all still at your place. When the new platform comes to town, you can automate pumping your content into the new thing. If you don’t own your own land somewhere, the landscape is littered with people who became huge on one platform, and when it died, that was it. They went back to a cubicle after making tons of money. You rise and fall with those platforms.
Christopher Penn – 42:04
You’re right. I remember some very big fish in small fishbowls back in the early days of podcasting. Someone would be “Mr. Podcast,” and then podcast winter hit for 10 years and they vanished back into a cubicle. Now you have the Joe Rogans of the world. If you can stay adaptable to different platforms without doing all the rework yourself using agentic tools, you’ll save a lot of time and keep your content.
John Wall – 42:34
Right. You stay out in front of the world, and as new things come up, you’ve got content ready to go instead of starting at zero.
Christopher Penn – 42:40
Exactly. That’s automated content transformation. Develop a requirements document — which is essentially software development documentation — use an agentic system, and use the 5P Framework by Trust Insights.
Figure out which martech tools you have that allow for connectors optimized for AI agents. Specifically, look for a command line interface (CLI) — that’s the magic word. Forget MCPs — MCPs suck. Use a CLI because it doesn’t consume AI tokens. If a vendor does not have a CLI and a competitor does, think about jumping ship or telling your vendor, “You either need to keep up with the times and give us a CLI or give us a rate cut, because this other vendor has the tool that makes AI work really well.”
Connect your tools in the requirements document using the CLIs.
Christopher Penn – 43:40
Think through the process using user stories and the concepts we talked about today. Let the tools go off and do their thing, and within a week or so, you’ll probably have a working system.
John Wall – 43:53
I hadn’t thought of the angle of skipping MCPs to save tokens, but that is totally it. Why would you use an MCP when you’ve got a CLI at no charge?
Christopher Penn – 44:02
Exactly. No charge, it’s faster, and the results are better.
John Wall – 44:06
No security threats.
Christopher Penn – 44:08
Fewer of them, anyway. No one’s spying on your work — HubSpot.
Anyway, that is going to do it for this week’s episode. Next week… I forget what we’re talking about next week, but the week after that, we’re going to be talking about diagnosing AI writing styles. Make sure you stick around and subscribe wherever you are watching or listening to this show, and we will see you all on the next one. Take care.
Thanks for watching today. Be sure to subscribe to our show wherever you’re watching it. For more resources and to learn more, check out the Trust Insights podcast at TrustInsights.ai/tipodcast and our weekly email newsletter at TrustInsights.ai/newsletter. Got questions about what you saw in today’s episode? Join our free Analytics for Marketers Slack group at TrustInsights.ai/analyticsformarketers. See you next time!
Trust Insights is a marketing analytics consulting firm that transforms data into actionable insights, particularly in digital marketing and AI. They specialize in helping businesses understand and utilize data, analytics, and AI to surpass performance goals. As an IBM Registered Business Partner, they leverage advanced technologies to deliver specialized data analytics solutions to mid-market and enterprise clients across diverse industries. Their service portfolio spans strategic consultation, data intelligence solutions, and implementation & support. Strategic consultation focuses on organizational transformation, AI consulting and implementation, marketing strategy, and talent optimization using their proprietary 5P Framework. Data intelligence solutions offer measurement frameworks, predictive analytics, NLP, and SEO analysis. Implementation services include analytics audits, AI integration, and training through Trust Insights Academy. Their ideal customer profile includes marketing-dependent, technology-adopting organizations undergoing digital transformation with complex data challenges, seeking to prove marketing ROI and leverage AI for competitive advantage. Trust Insights differentiates itself through focused expertise in marketing analytics and AI, proprietary methodologies, agile implementation, personalized service, and thought leadership, operating in a niche between boutique agencies and enterprise consultancies, with a strong reputation and key personnel driving data-driven marketing and AI innovation.