ClipMind: how TikTok, YouTube and Apple Podcasts turn into Markdown
After voice notes, VoxBase got a second input.
Not my voice, but other people’s media.
I send a link from the iPhone through the Share Sheet.
Then ClipMind determines the source on its own:
if is_tiktok(url):
process_tiktok(url)
elif is_youtube(url):
process_youtube(url)
elif is_apple_podcast(url):
process_podcast(url)
So one queue accepts different links but runs different strategies inside.
Because TikTok, YouTube and a podcast can’t be processed the same way.
TikTok
First ClipMind looks for captions and checks:
- whether the language is right
- whether there’s enough text
- whether these are lyrics
- whether these are junk auto-subtitles
If the captions don’t pass:
video › audio › ffmpeg › local Whisper › Markdown
YouTube
Here the principle is different:
don’t download the video if the text already exists.
YouTube URL › metadata › ready transcript › Markdown
No video, no audio and no Whisper if subtitles are available.
If there are none, ClipMind doesn’t start a heavy download blindly. It saves the metadata and a clear error status.
Apple Podcasts
This is the hardest source.
Apple Podcasts URL › iTunes Lookup › RSS › ready transcript
If there’s no text in the RSS:
RSS audio enclosure › local transcription
But a long podcast can’t be quietly sent to Whisper in the background. Once such a fallback created extra GPU load, so now it’s disabled for the automatic queue and only runs explicitly.
The most important part of ClipMind starts before transcription.
As soon as a link enters the queue, a task is created in Todoist.
Even if processing later ends in an error.
- the source link isn’t lost
- one task is updated as processing goes on
- no duplicates are created
- after completion the link is removed from the queue
- temporary video, audio and chunks are cleaned up
- only light final artifacts stay in iCloud
In the end three completely different sources converge into one form:
link › the right extraction strategy › Markdown › Todoist › memory
The main idea of ClipMind turned out not to be transcribing everything.
It’s finding the cheapest and most accurate path to text first.
Sometimes that’s ready subtitles. Sometimes RSS. Sometimes local Whisper. Sometimes an honest failure artifact.
Different inputs. Different routes. One result: media stops vanishing in the feed and becomes part of my working system.
