Podcasts are really just Atom feeds. So the reverse of atomstr and a little extended than nostr.band. http://www.atomenabled.org/developers/syndication/#link
Grab a list of all blogposts, filter by ones with the tag "podcast". There's multiple ways how to handle files - but considering NIP-95 exists (i hope i got the number right - I mean the ones with File links), I would just look up all files that relate to the blog post. So it'd basically be a std::vector
Just iterate and generate the atom feed and... you have yourself a podcast. :)
Written in probably the most convoluted way, but these guys know what they're doing afaik. https://github.com/gpodder/podcast-feed-best-practice/blob/master/podcast-feed-best-practice.md