Remix.run Logo
lmorchard 3 days ago

Like, fine, here's a personal example: I wanted to build a system that posts web links I share to a bot account on the fediverse. That seemed like a fun result to me.

I wanted to self-host the links, so I installed Linkding. (I didn't write Linkding.) For the fediverse bot, I installed gotosocial as the service host (I didn't write gotosocial.)

From there, a cronjob running a small program using Linkding and gotosocial APIs could do the trick. Decided to do it in golang, because the standalone binaries are easy to deploy.

Writing that small program didn't seem like fun - I've already played with those APIs and golang. What I wanted, for my enjoyment, was the completed system.

So, I took 10 minutes to write out a quick spec for the program and what I wanted it to do. I loaded that up as context for Claude Code along with some pointers for building CLI apps in golang. I let it rip and, in about 20 minutes, Claude produced a functional tool. It also wrote a decent README based on my original prose.

I reviewed the code, did some testing, made some tweaks, called it done. My bookmarks are now regularly posted to a bot account on the fediverse. This is an enjoyable outcome for me - and I didn't have to type every line of code myself.

For bonus points, I also had Claude Code gin up some GitHub Actions workflows to lint, test, build, and release multi-platform binaries for this tool. I've done these things before, but they're tedious. More enjoyable to have the resulting automations than to build them. And now I have them: I can make tweaks to this tool and get builds just through the GitHub web UI.

I've since repeated this pattern with a handful of other small personal tools. In each case, I wanted the tool and the utility it offered. I didn't care about the process of writing the code. It's working pretty well for me.