Cursor - My First Dance with Vibe Coding

Cursor - My First Dance with Vibe Coding
Diffusion Limited Aggregation

As a Senior Software Engineer with years of hands-on experience, I wasn’t impressed by the first round of LLM-enabled development tools. But there’s been increasing buzz around the new agentic systems like Cursor, and their approach actually resonates with me. Curiosity got the better of me, so I dove in to see if this new wave could finally live up to the hype.

After two weeks of experimenting, I wanted to capture my initial impressions.

Approach

I’ve heard that these new tools really shine in the early phases of greenfield projects, so I started with something they should excel at. If you’ve followed this blog, you know I’m obsessed with Dynamic-Limited Aggregation (DLA)—the simple but powerful algorithm for growing Brownian Trees fractals.

A Brownian tree build using the app I created 

I’ve implemented DLA many times, in many languages. The beauty of the resulting images depends on rendering and the ability to tweak parameters. For instance, in the image above, a gradient is applied based on the distance from the root node. I’m drawing lines to connect each point (based on the order they “stuck”), and circles are anchored to every other point. I’ve always wanted an interactive UI to experiment with these options, but I’d inevitably get bogged down by tedious, repetitive coding details.

What I Wanted to Learn

  • How quickly can Cursor accelerate me past familiar milestones?
  • Can it help me push even further?
  • Is the code it produces actually maintainable?
  • Do I enjoy working with it, or does it just get in the way?

Two Weeks In: My Thoughts

Sadly, I don’t have hard stats from previous versions, but in under two weeks, I’ve blown past previous iterations! This time, I’ve built a fully-featured UI to run DLA simulations and tinker with rendering in real time.

Code quality has been better than I expected, too. Sure, sometimes the agent’s first attempt needs a refactor, but it’s easy to nudge it in the right direction—or just tweak a few lines myself. In fact, I’d say this project’s code is a cut above my earlier efforts. In the past, pressed for time, I’d often cut corners. But with Cursor’s help, I’m building this like a true production app—leveraging React, Redux, and Redux Toolkit. The LLM takes the pain out of tedious state management and makes the routine refactoring that happens as an application grows much faster.

As someone who considers coding a craft and enjoys coding for the sake of coding I was prepared to hate this, but honestly I have really enjoyed working with it. I plan to keep building—and to update this site with future thoughts as the journey continues!

Try It Out

Past DLA Implementations