In this post I will show you how I set up my daily tech newsletter using Claude Code's scheduled tasks, Miniflux and Resend and how you can build yours too!
Yeah that's a lot of AI related news...
RSS Feeds, everywhere
First of all, I'm a big RSS fan! I have accumulated so many feeds over the years, I was subscribing to many blogs, newsletters and feed aggregators up to a point where I lost control over what actually matters.
Until recently, I was using the lire app on my MacBook and on my iPhone, which syncs and works pretty decently. The problem is : I wasn't opening the app ! The amount of articles to read and the general mess was feeling discouraging and I'd prefer watching a tech Youtube Video instead (or just scroll on Bluesky 😬)
The simple idea
If I'm not opening up the app, perhaps I could receive a daily digest of the "best" articles to read ?
This digest would work as a reminder to check my RSS feeds and as a focused selection of the most interesting articles based on my interests.
I found the easiest way to set this up was to send it as an email, that way I can get a notification and keep previous ones in my inbox if I'm looking for an article later.
It also allows me to forward the email if I want to share an article.
"Tech Stack" (it's mostly a Claude Skill)
I wanted something flexible enough so I could add a new RSS source, and the newsletter would use it the next morning. I decided to use Miniflux to handle the feed aggregation part, which I self hosted on my own server.
Miniflux has a great API which can easily be consumed by other tools, making it super easy to integrate in automations.
For the email sending part, I used Resend as it's such a simple way to send emails, developer oriented and easy to setup.
And last but not least, Claude! Using Scheduled Tasks, I can use my Claude Pro account to send the newsletter at a specific time of the day everyday, no need for extra API usage (and costs). The whole newsletter generation process is a versioned skill, on a git repository, the scheduled task only has the environment variables needed to Read on Miniflux and send an email.
More on that Skill
The process is pretty straightforward, the Claude skill follows the following steps :
- Fetch RSS categories on Miniflux
- Fetch latest unread 200 posts from yesterday.
- immediately truncate post body to first 500 characters
- Find the most interesting posts among these and keep only 1-3 per category
- Mark all selected posts as read in Miniflux, so they are not picked up later and I can see which have been included in a newsletter earlier.
- generate a quick summary for each post (translated into french in my case)
- generate the newsletter summary
- grab the html template for the email and populate it with the posts
- send this as an email to me using Resend's API
And, that's it!
Also, this Claude skill lives on a private Github repo which is linked to the Claude Code Scheduled task. So whenever the task starts it clones the git repo and uses the most up to date version of that skill.
This means I can update the skill on GitHub and tomorrow's newsletter will use it right away. Same thing goes for Miniflux, if I change the categories or add/remove a feed it will be used the next day!
Conclusion
I love how simple and effective it is, I've been using it for a month now and I love waking up with news that really match my interests. I have already tweaked the skill a few times to generate better summary or to improve the email template.
There's still room for improvement especially for deduplicating content. I would also like to include Open Graph images in the email template when they are available.
If you have any ideas or want me to share this Claude Skill with you, lets chat on Bluesky.
Thanks for reading :)