POP Forums in the age of agentic coding

posted by Jeff | Saturday, November 14, 2026, 5:22 PM | comments: 0

With all of the hot takes on the Internet about how to use LLM's for coding, it seems there's a desire to do "stupid robot tricks," like making the machine write as much code without intervention as possible. I don't understand why this is even a goal, because less code is still better. So with my non-employment the first half of the year, and a lot of new energy, I consistently worked on two projects. The first is POP Forums, the app I've been maintaining for 27-ish years. It needed maintenance and a few new features. I also started building TogetherLoop, a classic style social app, from scratch. So one old code base, one new. How did I get to shipping?

The forum journey started with an audit of everything. I've wanted to do that for years, but didn't have the patience. This year, I asked Claude to do it. It found a number of possible vulnerabilities, and some other things that were broken-ish, edge case issues. From there, I started looking at the backlog and deciding what to do. A small thing, I wanted post voting to update in real time. There was already precedent and a pattern for this, since new posts themselves appeared when made. I walked the AI through the existing pattern, and after a few go-arounds, it was done in about 15 minutes. Then came the polish. It wasn't obvious that the counts were changing, so I had it "pulse" the number, drawing attention to it. While I was there, I had an old issue where the voter displays didn't disappear when you tapped/clicked off of them. Fixed that, total time invested, maybe 15 minutes.

There were two larger features I wanted to add: Paid subscriptions, and user badges. The badging only took an hour or so, and most of that time was spent agreeing on the right architecture, emphasizing performance. The robot wanted to do some clunky things and cause some crappy dependencies, but we got there fast enough. The subscriptions, which integrate with the payment provider Stripe, took longer. I've written several Stripe integrations before, so I had a lot of domain knowledge. I spent the first hour figuring out the right entities, and the fastest way to store and retrieve them, then an hour on the logic to buy and renew subscriptions, followed by another 20 minutes on the UI, and even less time on the calls to Stripe. The next two hours were spent on all of the edge cases and things that I hadn't thought of, like changing the card you wanted to use and admin comping of subscriptions. All-in, I spent five hours, and that's what I shipped. Another 20 minutes of polish after I got it in front of real users and took their feedback. If I had to manually write all of this, it probably would have taken about twice the time.

TogetherLoop went at a similar pace, but I spent a lot more time debating architecture with the robot. On an old code base, it seems it doesn't want to optimize at all, but on a greenfield project, it wanted to prematurely over-optimize. Right from the start, it suggested pre-computing feeds, probably because Instagram does that or something. Where it added the most value was in things I had no prior experience. For example, browser-based image resizing, I've never tried it. I didn't even know it was a thing. I didn't know that there were companies that would block my link previewing bot (title and thumbnail, for posts) either, but Claude pointed me at the companies that register bots. Almost every site works now.

I did all of this on a $20 Claude Code subscription, and only ran out of credits once (had to wait an hour). I work in short, iterative cycles, but the coding takes half the time, if not less. I understand everything it wrote. I caught countless anti-patterns. I haven't had to reinvent the SDLC, which people seem intent on doing, I just work the tool into known-good practices. I've shipped more in my spare time than I have in years. It's a fun time to go at this.


Comments

No comments yet.


Post your comment: