Today I have spent about an hour and a half pushing forward my song sheet project for church. This takes a collection of songs (original in ChordPro format and converted to JSON) and allows them to be displayed via a web interface, either individually or as complete sets. My target today was to make a useful step towards tools in the web interface that replicate what I can do by directly working on the database. In particular, I want to allow the song key to be transposed, the order of its component parts (verses, choruses, etc) to be adjusted and comments like “Drop here then begin building back” to be inserted.
That’s quite a chunk of work but I was able to work at an accelerated rate with the help of Cursor. This is a fork of Microsoft’s popular VSCode development environment that integrates AI tools. Rather than figure out how to code my ideas and plugging in every keystroke by hand, I was able to “chat” with an “agent”. I described what I wanted it and it did it. I looked over the code and tested the result and suggested refinements. I don’t think this stream of work is completely finished yet but I was able to share an updated version with other team members before this evening’s rehearsal (which I wasn’t able to attend in person).
I’m exploring this because it has the potential to be invaluable in my professional work but I’m using it on my own code first so I’m not breaking anything I’m not confident that I can fix within timescales that don’t potentially disrupt colleagues and paying customers. One lesson I learned is that you have to be very careful to put the agent in “planning mode” if you don’t want it to start rewriting things. Fortunately I caught that with my version control system (Git) and then I made sure that I was working with the agent inside a dedicated branch.
As it was though, it did a good job. I did one or two fixes by hand but quickly realised that, in most cases, it is quicker to describe what you want and put the energy into reviewing the results. I’m still learning but it looks like it is going to prove an incredible speed multiplier and, so far at least, I’ve been able to do it all in the scope of a free account.
