Raindrop.io
Bookmarking service used as the podcast source queue.
Goals
A human-curated queue of articles to include in podcast episodes — something we can add to throughout the week by bookmarking articles, then have the pipeline drain automatically on each episode run. The key requirement was a durable, tag-based idempotency mechanism so the same article isn't used twice.
Effectiveness
Works well as a queue. The podcasted tag as an idempotency guard is clean and human-inspectable — we can see exactly what's been used, remove the tag to re-queue something, or add new bookmarks from any device. The REST API is simple and reliable.
What made it effective
- The tag-based queue pattern maps naturally onto how people actually use a bookmarking service. The pipeline drains untagged items; tagging is the acknowledgement. Simple and auditable.
- The REST API is straightforward with no surprising shape changes or envelope formats.
- Re-queueing an article is a single action (remove the
podcastedtag) rather than a database operation.
Bonus utility
Raindrop's browser extension and mobile app mean the queue is easy to populate from anywhere — the pipeline input is effectively a reading list.
Friction / pain points / surprises
Paywalled and JS-rendered articles return partial or empty content. The pipeline fetches article text from the live URL at pipeline time. Articles behind a paywall or requiring JavaScript to render return either nothing or the paywall page. No warning — the pipeline just processes a thin article. The only mitigation is noticing during essay review that a source has no substance.