# Introducing tpod - from tokens to podcast RSS feed

By [programmista](https://paragraph.com/@programmista) · 2023-11-26

---

I wanted to add an audio companion for programmista since I consume more content in audio format than in text. I assume others do as well

More on this soon, but I'm a firm believer in the power of decentralization. Therefore, I didn't want to create a podcast with Spotify, as podcasts are becoming increasingly centralized, despite their origins in RSS.

I care about decentralized media so I decided to mint the audio companion as NFTs. This ensures they have a presence onchain, allowing the episodes to be collected and the content stored in decentralized storage. This is similar to programmista's text version on [Paragraph](https://paragraph.xyz), where posts are stored on [Arweave](https://www.arweave.org/), and each post can be collected as an NFT.

To achieve this, I started a collection on [Zora](https://zora.co) and leveraged the data onchain to build the podcast feed.

As I continue to build more in the decentralized space, this Thanksgiving break, I developed a tool I’m calling `tpod`. It can create an RSS feed and a simple webpage for a given token URI.

Since my aim is to create more tools and compile ones created by others, I included a tool named `man`, inspired by the UNIX manual tool. It provides information on how to use each tool.

Here is the man page for `tpod`: [https://d11d.tools/$/man/tpod](https://d11d.tools/$/man/tpod)

Keep in mind, this is a very early alpha version that hasn't been thoroughly tested. Here are a few links to podcast pages from some audio collections on Zora:

\- Zero Rights Reserved Podcast: [https://d11d.tools/$/tpod/chain://eip155:7777777/erc1155:0x20035fEa4dd659553233FE5ea3CA207E6427B5Eb](https://d11d.tools/$/tpod/chain://eip155:7777777/erc1155:0x20035fEa4dd659553233FE5ea3CA207E6427B5Eb]\(\))

\- UFO Podcast: [https://d11d.tools/$/tpod/chain:/eip155:7777777/erc1155:0x4174f78b7769650c1b205a2e1ac69cd0e47bbe02](https://d11d.tools/$/tpod/chain:/eip155:7777777/erc1155:0x4174f78b7769650c1b205a2e1ac69cd0e47bbe02)

\- programmista audio companion: [https://d11d.tools/$/tpod/chain:/eip155:7777777/erc1155:0xd5E04c47bBF5686dfA55027d9ca8b7c46eC05Fc5](https://d11d.tools/$/tpod/chain:/eip155:7777777/erc1155:0xd5E04c47bBF5686dfA55027d9ca8b7c46eC05Fc5)

How tpod was built
------------------

Since programmista aims to be somewhat technical, I'll share a bit about how `tpod` was built. I have a Go server that calls the [reservoir.tools](http://reservoir.tools) Tokens API to pull data for a given NFT contract on a specific chain. I chose Reservoir because they have indexed many chains, allowing me to pull data from Zora, Base, Optimism, Ethereum, etc.

The server generates the RSS feed following iTunes podcast standards and generates webpages using [preact](https://preactjs.com/) for client side rendering. The site is being served by [Railway.app](http://Railway.app) and the domain is managed by Cloudflare.

I’ll share more later, but I'm building [d11d.tools](http://d11d.tools) in a way that allows multiple tools to be registered with a descriptor. The server calls the registered tool logic passing in the subcommand and arguments (if any). The `man` tool reads the tool descriptors to generate the pages.

Closing
-------

Give it a try! If you have any suggestions or encounter any issues, please fill out this [form](https://forms.gle/2dfg2AzPDZJtr2kZ8).

If you haven't already, check out the [welcome post](https://programmista.com/welcome) for programmista. Leave any questions you'd like me to answer in the call to action [cast](https://warpcast.com/gabrielayuso.eth/0x327228ba).

[

![](https://storage.googleapis.com/papyrus_images/a340bb06ba6253bb3598f2bdb15345ec)

Gabriel Ayuso — web/acc on Warpcast
-----------------------------------

TL;DR; Doing an async AMA. Will answer in long form post. I'm reviving an old blog of mine, programmista.com. I'm trying to write more and will use an async AMA format as an initial forcing function to write. I go more into detail on the post linked below. Any topic is fine. https://programmista.com/welcome





](https://warpcast.com/gabrielayuso.eth/0x327228ba)

Audio
-----

Subscribe to programmista's audio companion by pasting the following RSS feed URL to your favorite podcast player (only tested with PocketCast so far 😅). [https://d11d.tools/$/tpod/chain:/eip155:7777777/erc1155:0xd5E04c47bBF5686dfA55027d9ca8b7c46eC05Fc5.rss](https://d11d.tools/$/tpod/chain:/eip155:7777777/erc1155:0xd5E04c47bBF5686dfA55027d9ca8b7c46eC05Fc5.rss)

---

*Originally published on [programmista](https://paragraph.com/@programmista/introducing-tpod)*
