4 min read

Raindrop.io Links to Buttondown Newsletter

A web app I wrote to convert Raindrop.io saved links to a Markdown linked list that you can use if you want but probably shouldn't?
Raindrop.io Links to Buttondown Newsletter

As part of writing my email newsletter that I send out most Tuesdays—sign up here if you'd like me in your inbox more!—I collect links I find and think readers might enjoy using an app called Raindrop.io.

When I come across something I like, I can click the extension in Safari on the Mac or use the Share Sheet on my iPhone to add links to my Raindrop.io collection named "Newsletter".

Then each week I manually visit Raindrop.io—or use the great Mac app—and copy and paste the links into my Buttondown template for my email newsletter.

Which worked fine until I stumbled on this post by Ethan Marcotte which referenced this post by Sophie Koonin demonstrating how they collected their links saved to Raindrop to automagically post them to their respective blogs. In particular they used a method to only grab the last week's worth of saved links so they didn't end up sharing links they had already shared by accident.

Enter Gemini

I thought this would be a perfect opportunity to try out Google's Gemini AI coding helper to see if I could write some code to pull in my shared links into a Markdown format I could more easily copy and paste into my newsletter.

The first version I wrote using Gemini to build something that did just that:

  • Scraped my Raindrop.io account via my API key
  • Looked at a specific collection ID for "newsletter"
  • Spit out a file called 2005-11-01 Links.md that I could then open and copy all the links from the past week that I'd saved.

It worked! I felt like a (fake) genius for a moment.

Enter Antigravity

Then earlier this week, Google released Antigravity which is their fork of Microsoft's Visual Studio Code, but using Google's Gemini AI as the primary option. (Don't quote me on any of that. That's just my understanding of what's going on under the hood.)

I installed Antigravity and opened up my code repo and wondered if I could build an actual web app for my tool rather than have to launch a program in Terminal to do it.

So I typed in Antigravity's prompt: "Would it be possible to build a web app version of this code that would let me copy the links out of in Markdown format?" And rather than answer my question with some AI reasoning, to my surprise it just started writing the code to build the app right away. Before I knew it Antigravity had spit out a localhost:3000 URL for me to check out the app it had built for me.

I forgot to take screenshots along the way, but it just worked right the first time.

I noticed it was using my Raindrop.io API key and specific collection ID that I wanted, so I asked Antigravity if it could allow for anyone to punch in their own API key and collection ID. It went ahead and wrote a bunch more code and spit out a version that not only allows anyone to use it with their environment details, it also added the ability to save credentials in local browser storage so you can go back and re-use it without having to type in API key details each time.

I asked Antigravity to write up deploy details for Netlify (it also added Render and Vercel), and I threw it all on GitHub and deployed it to my Netlify account.

Presenting "Raindrop to Newsletter" the App

As of this writing, you should be able to visit RaindropNewsletter.chrisenns.com and use the app yourself.

💡
It should go without saying that since 99% of the code on this app was written with AI, you should use it at your own risk!
Screenshot of https://raindropnewsletter.chrisenns.com showing the app I built by typing words into an AI box

It's a pretty niche little app that's really written for me and me alone. But maybe someone else out there would find it useful as well.

AI Reflections

This is an app that in theory I could've figured out how to write myself by watching tutorial videos, reading other people's code, looking at the Raindrop.io developer support pages, etc. But I know I wouldn't have done all that for this purpose. I would've just kept loading up Raindrop.io each week and manually copying links out. Which is fine too.

But now I have a working web app as well as a bunch of code in a GitHub repo. I don't think anything nefarious can happen with the code I've put out into the world, but it's entirely possible because I really don't know what it's doing. Which is why it's both so incredibly empowering and incredibly dangerous.

The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence.
Charles Bukowski

Using AI makes me feel intelligent... and confident.