I've been having a lot of fun with AI agents lately. Have tried a lot of them - Cline, Roo Code, Windsurf, and finally settled on Cursor now with Claude 3.5 sonnet. It's been a big boost for my productivity.
AI helped me write a synchronous API proxy in Go that I'm almost ready launch. One of the main challenges with Ruby on Rails is that it's terrible at handling long-lived HTTP requests. Especially a lot of them at the same time. So our PDF generation API was forced to be asynchronous and our customers need to poll for status updates (or set up webhooks.)
This new synchronous subdomain will handle all the polling logic for you, so you can just make an HTTP request, wait a few seconds (or longer), and receive a link to a PDF that's ready to download. Even with AI, it was still very difficult and took many weeks to get it right. Challenges included security, load testing, data races, concurrency, and setting up reliable, secure infrastructure with an internal load balancer. I learned a huge amount about both Go and Kubernetes. But it's almost done and I should be launching in the next day or two.
After that, I'm finally launching support for template versioning. This will allow you to pin your API requests to a published version, so you can keep making changes to a draft version without affecting production. It's long overdue so I'm excited to get this launched as well.
Also working on a side project from time to time: VisualCI [2]. We have a lot of PDF integration tests that use image diffs, and some browser tests where I compare screenshots. So this is a tool I've wanted for a long time, and the paid services I've found can be a bit pricy. I'm going to try to build a very simple MVP that just does what we need, and maybe others will find it useful too.