Crypto
- OAuth and API keys were never even something I needed to consider, it just worked.
- If Claude could have talked directly to the AWS APIs it could have set this up way faster than I could. I could have had it create a Cloud Formation script as an alternative.
- Fix description typo
- Use CDATA for HTML descriptions in RSS items
- Fix claimant link to use owner address
- The descriptions of all events needed to be cleaned up.
- The RSS item GUIDs that Claude had used were not URL’s as they should be so I fixed all of those.
- A number of the links were not right so I cleaned them up.
Vibe Coding POAP2RSS
Ever since I created my first POAP drop I’ve wished that I could see claims of POAPs in Feedbin. What a great way to keep informed of the tokens that people are claiming! As I created more POAPs I realized that I also would like to subscribe to other people and see what POAP events they are claiming. And as I played around more with them I realized it would be so useful to be able to hook POAP claims up to automation platforms like IFTTT, Zapier, or Make β all of which support RSS out of the box!
I’ve been going deep on all things AI and I wanted to experience vibe coding for real versus just reading blog posts about others doing it. Iβm a big believer in playing directly with tech to learn it. So, why not try creating the thing I’ve always wanted with POAPs by vibe coding it?
I’ve now successfully created, and already an extensive user of, POAP2RSS! This simple service allows you to subscribe to RSS feeds for POAP events as well as addresses of collectors. It is magical and I love it already!
In the spirit of vibe coding let’s ask AI what it is.
Let’s go! π₯
Vibe Prototyping
First Iβm going to share that I only realized I was prototyping a solution in retrospect. What I really did was go to Claude and start a new conversation.
It created a new artifact and put about 250 lines of Python code in there. Voila! Now what?
Let me qualify my skills here. I can bang around in most languages reasonably well. I can navigate Python the best. I can read code very well. Iβm pretty basic when it comes to writing it. Iβm a solid scripter but can quickly get out of my league. This Python code was better than anything I could do but I was able to navigate it easily enough.
But what do I do now? I have an AWS account and have setup S3 buckets. I’ve never setup a Lambda function though. Let the vibes flowβ¦
I got another artifact now with step-by-step directions on what to do in the AWS Console. Brilliant!
I followed the directions and then actually ran a test, which Claude told me how to do.
Claude and I went back and forth like this for a while with me running the Lambda, an error coming back, me sharing the error back to Claude, it making updates and me applying those. And thenβ¦
I hit a big stumble getting routing working through API Gateway to the Lambda function and Claude corrected me when I started going the wrong way.
Okay Claude β got it! π«‘
After this session I had a working prototype. The code was ugly. It turned out we needed to include OAuth support and added that much later. The design of the API endpoint was bad but it was working. It only took about an hour but I had explored this surface area deeply. I knew broadly what the service should look like, what some of the edge cases were going to be, and what was required to integrate with the POAP API.
Now to come back later and turn this into something that would be real. I was about 1 hour into exploring this topic and now knew a lot.
I deleted the Lambda function and all of the configuration I had created. It was created trial and error and I wanted to now be more rigorous.
Expand Features
Creating the prototype gave me a bunch of notes and a much better understanding of what was going to be needed to make the solution work right. I wanted to make sure I wasn’t missing some things so I decided to turn to ChatGPT o-3 and Deep Research to explore the necessary features.
o-3 then went off for about 10 minutes to do some research. I decided to watch it and had a real chuckle when I noticed that Deep Research was reading my own blog! It turns out over the years I’ve written about things that POAP could add including RSS feed support. Actually multiple times.
After this was done I had a full feature description for POAP2RSS!
I read through it all and felt together we had vibed the right set of things to consider in creating this solution. Now to make this thing work!
Create Service
With the features of POAP2RSS now figured out it was time to build the solution. I was comfortable with how Claude had worked for this Lambda function in the prototype so I went back to Claude and attached the full document for the features along with a prompt to code it.
Claude’s comment on “substantial implementation” made me chuckle.
I had a big miss in my ask though β I never told it was URL POAP2RSS would run on and what the URL for the endpoints should be! Ugh.
This was a little interesting to me since an actual developer working with me would have never just assumed they knew this. They would have stopped and requested clarification since this is such an obvious miss in the request.
This version of POAP2RSS had more complexity with the caching in DynamoDB. I needed a good set of documentation to know how to create everything in AWS Console.
With that Claude created a seven step detailed deployment document. Nice!
At some point here I hit a significant issue with the SSL Certificate being configured right to route through API Gateway and on to the Lambda function. I kept getting issues with the certificate being incorrect. This blocked me for about an hour as I was trying to debug things. I finally found that I had the Cloudfront configuration incorrect and pointing to the wrong resources. Ugh!
With that issue solved I had a fully deployed service and it was working exactly how I wanted it to work. Notable to me:
This round took me about 2 hours to get working entirely.
Get Professional
I now had POAP2RSS working and working well. I now wanted to get this cleaned up and something I could maintain. I created a new repo in Github for POAP2RSS and moved the prompts, docs, and source into the repo.
I now wanted to explore what I could do with OpenAI Codex. I attached Codex to the code and asked it. (Iβm abbreviating Codex’s responses. It is fairly verbose and detailed and would be too much to include all of. It also has complicated buttons and links that are hard to replicate.)
Codex operates much differently. It creates a whole development environment for every ask, gets all the code from the repo, and does whatever it needs. I then asked it a really general question.
I thought it was hilarious that Claude had made a typo in the description and indeed it had. That was simple enough. The CDATA escaping of HTML in the descriptions was a notable miss for Claude, and frankly even for o-3 to miss in the features. Nice catch!
I sequently asked it to fix each of these issues and it issued a pull request for each one.
I reviewed and merged each of these pull requests.
Very cool! π₯ I now have a fully working service and a reasonably clear code base. I wasn’t entirely happy though with the HTML that was being put into the RSS feed descriptions. This is where I hit some “fit and finish” work that I ultimately did not find vibe coding a good approach for. I started to ask Codex “Please reformat the descriptions for events to look like⦔ and realized it was more work for me to ask Codex than to just go into the code and cleanup the strings myself.
I did some actual coding here. π οΈ It was fun to tweak and make it just what I wanted. I found a number of things that needed to be cleaned up:
I now have a fully working service and it is even sending information as I would want it!
Build the website!
Early in the project I had Claude create an index.html
that I could drop into the www
directory to have a simple website. It was okay but not at all the design I wanted. So, the next day I decided that this was a perfect ask for Codex so I asked it to build me a website.
Wonderful! I merged in the Redesign POAP2RSS website and it was great.
I found myself in another “fit and finish” situation where it was much easier for me to just edit the HTML to what I wanted rather than asking Codex to do it for me. So I tweaked away and in not much time had a site up and running on www.poap2rss.com that made me happy!
Good Vibes!
I’ve been playing with this service now a bit over the holiday weekend. It is working great. I’ve already used it to do a ton of automation for the 612 POAP Challenge. I’ve added subscriptions to several people that collect POAPs which is super fun.
The experience of Vibe Coding this was incredible. It took something that was beyond my capabilities and made it accessible. I shared the project with someone that knows and they said the code looked like it would have taken “2 days” to create the source. I got this done much faster, and did a lot more than just the code.
It also highlighted for me how this approach isn’t just about the code. I used AI to help create the stories as well as create the documentation and website. Those were huge helps.
Iβm tracking open issues so I have some items that I’ll likely use to test Cursor or do further work with Codex.
Overall, this was a very rewarding project to create and I learned a lot from making it a reality.
PS: Thank you to Matt for the slick message styling CSS for Tiny Theme!
Worked with OpenAI Codex this morning and redesigned the website for POAP2RSS. It gave a clean structure as requested that I could fill in and make better.
I decided to declare POAP2RSS officially launched. It seemed fitting for Independence Day!
How do you celebrate creating a service to make POAP activity available in RSS? You make a POAP of course! Now drop β POAP2RSS Created! π₯

I cleaned up the RSS items that POAP2RSS outputs this morning. I decided to remove the titles on the items and add the POAP images which makes it great for adding to a micro.blog timeline. Now I can share my POAP claims automatically!
Collected POAP 7386503 for POAP2RSS Created.
I’ve created my first project using AI to write nearly all of the code with me!
Introducing POAP2RSS!
For years I’ve wanted to get updates for POAP events and users in RSS. Now with the help of AI I’ve created it!
Still cleaning to do. Check out the code on Github.
Just used ENS Fairy for the first time to send halaas.eth to Erik Halaas of 612 Series fame! I’d been wanting to try ENS Fairy out and it worked amazing. Once he sets his reverse record the 612 POAP Challenge Leaderboard will reflect halaas.eth too.
I’ve supported the Electronic Frontier Foundation for over twenty years. I am excited to have this 35th anniversary coin, number 0061, as a keepsake. If only they did POAPs. π€©
“Working to ensure that technology supports freedom, justice, and innovation for all people.”
Collected POAP 7379713 for Creating Community with POAP β MN Blockchain.
I added a new award to the 612 POAP Challenge β the Explorer! This token is given to players that are the first to mint a location in the event. I sent it to the 8 players that have been the first to claim 31 of the 33 locations. There are only two more chances to get this award!

Collected POAP 7378481 for 612 POAP Challenge - Explorer.
Love that @ericmwalk did a run with Strava to get some 612 POAP Challenge locations today! Brilliant! Nice collection of 7 locations so far.
IndieWeb is Punk: Wear It!
I published IndieWeb is Punk and it resonated with folks.
Jim Mitchell created the shirt! Go ahead and get one!

I wanted to make a POAP to go with it so Jim sent me the image files and here we are!

For fun I asked ChatGPT to create the description for this POAP in the voice of Henry Rollins of Black Flag speaking to bloggers of today!
You walked away from the corporate feed trough. You ripped your voice out of the algorithm’s claws. That took guts. That took conviction. That’s punk!
The IndieWeb isn’t some polished product you buy with a tap. It’s you, your words, your server, your turf. It’s raw HTML and full-throated autonomy. This isn’t about metrics or brand deals – it’s about owning your damn voice. If you’ve ever looked at those social media sugar traps and said, “No thanks, I’m not a product,” then congratulations – you’re part of the resistance.
We need digital buttons, badges like the ones we used to stab into our jean jackets – statements of identity, rebellion, belonging. This POAP? It’s not just a collectible. It’s a battle patch. A symbol. A nod to the hard-headed, soft-hearted punks building the web they want to live in.
It started with Jamie Thingelstad screaming the truth from his blog: IndieWeb is Punk. Then others joined the chorus and even joined in voice, and Jim Mitchell did what punks do – he made a damn shirt.
So slap that badge on your digital vest. Wear it like blood, sweat, and static.
You’re not just on the web – you are the web!
Want a POAP? Contact me and I’ll send you a claim code!
Iβm going to be sharing my love of POAPs at the Minnesota Blockchain meetup on June 30th β Creating Community with POAPs! Will include 612 POAP Challenge as an example and will also be sharing a POAP for the evening of course!

Today Tammy and Tyler completed a 26-mile walk around Lake Geneva, Wisconsin. They started at 6:21 AM and completed at 2:58 PM. Epic. I thought it deserved a POAP β Lake Geneva Loop Legends! So very impressive. π₯Ύ

Stone Arch Bridge Fest
Today was Mazie’s birthday and one of the things she decided we should do is the Stone Arch Bridge Festival. It had been a very long time since we had been to this and I was really impressed by the size of it. There were so many artists and vendors. It felt to me like it had a particular Minnesota flare to it, with a lot of art that was locally inspired. We spent about four hours but could have spent the entire day there.

Some artists that caught our eye:
- Robots in Rowboats
- A.D. Hogan
- Bill Nagel
- Skape Designs
- James Powell Art
- CrewlArt
- Eric Beauchamp
- H. Ward Miles
Mazie bought a piece of art with her own money β her very first art purchase from H. Ward Mileswww.hwardmiles.com.

I also really liked these very local artist creating location pieces. Maybe I could get one of them to participate in a future year of the 612 POAP Challenge. π
We grabbed some switchel from Hobby Farmer on our way heading back home!
Got a recursive selfie while collecting the Grain Belt Sign for the 612 POAP Challenge with the family (see moment).
Favorite quote from Mazie @mthingelstad : “Why is this actually kind of fun?” Love it. π
