Contents

Upgrading my simple site with Cursor.AI

The Challenge

I recently received an end-of-life notification for Bing Maps, with the recommended solution being to upgrade to Azure Maps. This affected my Electric Grid Power Outages site that I previously wrote about in another post. Additionally, I wanted to explore using E-Redes OpenData API to directly obtain power outage data rather than relying on third-party services.

Working with Cursor.AI

My experience using Cursor.AI for this upgrade was a mixed bag:

The Good

  • The “Agent” mode proved quite useful for integrating into my test loop
    • While somewhat slow, it was adequate for straightforward tasks
  • Migrating to Azure Maps was handled reasonably well
  • Refactoring to use E-Redes OpenData API was relatively straightforward

The Bad

  • The AI often generated poorly readable code
  • Requesting refactoring sometimes resulted in losing previous requested changes
  • The AI frequently forgot existing code rules, like properly handling empty data sets

Claude 3.7 with Cursor.AI

Using Claude 3.7 with Cursor.AI in Agent mode seemed like a significant improvement, but still required constant vigilance. The AI would frequently lose sight of the actual problem:

  • When asked to fix a broken test, it would either:
    • Assume the test was broken and relax the test requirements
    • Assume the code was buggy and change it
  • It lacked the understanding that when something fails, the first step is to determine what needs fixing—the code or the test

Despite these limitations, Cursor.AI was still a valuable assistant when working with technologies where I have limited proficiency.